Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在$\u GET变量中分解和管道_Php_Pipe_Explode - Fatal编程技术网

Php 在$\u GET变量中分解和管道

Php 在$\u GET变量中分解和管道,php,pipe,explode,Php,Pipe,Explode,我正在使用URL传递一些数据,并尝试使用管道来分隔数据的不同部分。例如,我试图发送的一个片段是课程代码,如“COP211 | 212 | 213”,我有一个函数可以分解这些片段 explode("|",$code); 其中$code来自url——类似于coursecode.php?q=COP211 | 212 | 213 问题是explode什么都没做!我试过爆炸(“|”),爆炸(“|”),爆炸(“/|”),但没有任何效果,绳子穿过时管道完好无损。 具体来说, strpos($code, "|

我正在使用URL传递一些数据,并尝试使用管道来分隔数据的不同部分。例如,我试图发送的一个片段是课程代码,如“COP211 | 212 | 213”,我有一个函数可以分解这些片段

explode("|",$code);
其中$code来自url——类似于coursecode.php?q=COP211 | 212 | 213

问题是explode什么都没做!我试过爆炸(“|”),爆炸(“|”),爆炸(“/|”),但没有任何效果,绳子穿过时管道完好无损。 具体来说,

strpos($code, "|");
总是返回FALSE

编辑以澄清

var_dump($code);
if(strpos($code, "|") !== FALSE) { // Manage slashed courses
    $cid = explode("|", $code);
}
var_dump($cid);
var_dump($code)返回字符串,所有内容都在一块中

strpos($code,“|”)始终返回false,即使存在

var_dump($cid)不是数组,而是字符串

这是一个编码问题还是什么,因为它首先通过URL发送


帮助!

首先,使用
var\u dump($\u GET)
确保
$\u GET
包含一些内容

第二个问题是
explode()
将分解后的字符串作为数组返回。要替换
$code
的内容,请执行以下操作:

$code = explode('|', $code);

执行
var\u dump($code)
并发布结果。首先尝试回显$\u服务器['QUERY\u STRING'],以查看脚本实际接收到的数据。var\u dump($code)返回字符串,一块一块地返回。我发现我做错了什么,我正在为explode()输入一个数组而不是一个字符串。难怪它不起作用。我需要一个数组,因为我需要遍历它,将COP部分放回后续的数字中。最终的输出将类似于COP120 COP122,等等,但我必须能够首先分解字符串!我已经编辑以澄清我在哪里使用不同的部分,以便您可以n看看发生了什么事。