我通过url传递了一个数组,但是当我想使用$ sim_p [1]时遇到“Notice:Undefined offset:1”但是对于偏移0它可以正常工作!
$url = 'My Library.php?num='.$k.'&sim_p[]=' . implode('&sim_p[]=', array_map('urlencode', $sim_p)); //sim_p[ 0 ] and sim_p[ 1 ] are full in this page
header ("Location:".$url);
并在My Library.php中:
$num = $_GET[ 'num' ];
$sim_p = array();
if($num > 0){
$sim_p = $_GET[ 'sim_p' ];
}
提前谢谢!
答案 0 :(得分:1)
如果你使用过var_dump($_GET)
,你可能会得到这样的结果:
"?num=2&sim_p[]=value1&sim_p[]=value2"
array(3) {
["num"]=>
string(1) "2"
["sim_p"]=>
array(1) {
[0]=>
string(6) "value1"
}
["amp;sim_p"]=>
array(1) {
[0]=>
string(6) "value2"
}
}
请注意,您使用&
而不是&
进行内爆。这使得查询解析为$ _GET中的另一项,其中包含键"amp;sim_p"
。
这将有效:
$url = 'My Library.php?num='.$k.'&sim_p[]=' .
implode('&sim_p[]=', array_map('urlencode', $sim_p));