Php 在$\u GET变量中分解和管道
我正在使用URL传递一些数据,并尝试使用管道来分隔数据的不同部分。例如,我试图发送的一个片段是课程代码,如“COP211 | 212 | 213”,我有一个函数可以分解这些片段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, "|
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看看发生了什么事。