我有一个看起来像"1, 2"的列表,依此类推 . 当我使用$ _GET发送此列表时,浏览器会在地址栏中显示: ?myList=1,%25202
.
问题是's what I get in PHP. I'd喜欢基于“ ,
”爆炸列表(注意逗号后面的空格)但我不能这样做,因为它以另一种方式格式化 . 我怎么能爆炸列表呢?我需要以包含列表中所有元素的数组结束,并且元素由逗号后跟空格分隔 .
explode(", ", $list);
只是不起作用 .
谢谢!
编辑:这是在GET请求中传递的,如下所示:
$args = "list=" . $_POST["assigned"];
$extra = 'test.php?' . $args;
header("Location: http://$host$uri/$extra");
exit;
$s = "1,%25202";
$p = explode(", ", urldecode($s));
var_dump($p);
结果:
array(1) { [0]=> string(6) "1,%202" }
$s = "1,%25202";
$p = explode(", ", base64_decode($s));
var_dump($p);
结果:
array(1) { [0]=> string(4) "�nv�" }
2 回答
也许试试:
然后爆炸
$numbers.
如果浏览器自动将它们编码为安全字符,那么您需要解码它们 .
在脚本的开头,
POST
变量中发生了一些事情 . 这是一个快速的概念验证,验证如果你的变量确实是1, 2
,它将正确解码:你可以验证
POST
变量确实是1, 2
吗?