$ _ GET变量无法识别第一个数组元素。:
我在url中传递了一个类似于
的数组但是当我使用print_r($ _ GET)打印数组“products_id”和“cart”时,它只显示我
Array
(
[0] => 432
)
Array
(
[0] => 3
)
现在你可以看到url它还包含products_id的值“431”和购物车的“3” 我可以看到,由于附加到这些字符串“数组”,他们没有被访问,所以有人可以建议我如何解决这个问题
根据Felix审核编辑
for($t=0;$t<4;$t++){
$proid_30 .= "products_id[".$t."]=".$products_id."&";
$bucket_30 .= "cart[".$t."]=".$_SESSION['qty_flex'][$t]."&";
$idproid_30 .= "id[".$t."]=".$products_id."&";
}
$idproid_30.=" ";
$idproid_30 = str_replace("& ","",$idproid_30);
echo "<script>window.location= '/print_ready_form.php?action=buy_now&ft=prf&".$proid_30.$bucket_30.$idproid_30."&osCsid=".$_GET['osCsid']."';</script>";
答案 0 :(得分:2)
看起来你echo
一个数组来创建你的URL。这不起作用:
$a = array(1,2);
echo $a;
打印
Array
您能否显示生成URL的PHP代码?
<强>更新强>
如果没有更多代码,我只能假设,但我认为$proid_30
,$bucket_30
和$idproid_30
被初始化为数组。现在,当您追加一个字符串时,它们将被转换为字符串:
$a = array(1,2);
$a .= 'test';
echo $a;
打印
Arraytest
使用新变量构建网址或将其初始化为字符串:
E.g:
$product = '';
$cart = '';
$id = '';
for($t=0;$t<4;$t++){
$product .= "products_id[".$t."]=".$products_id."&";
$cart .= "cart[".$t."]=".$_SESSION['qty_flex'][$t]."&";
$id .= "id[".$t."]=".$products_id."&";
}
答案 1 :(得分:0)
您可以在http表单中使用变量名称,例如“var []”。你只需要使用get方法吗?试试帖子
答案 2 :(得分:0)
它仅显示432
的{{1}},因为链接中唯一的其他products_id称为products_id
。
您需要将其重命名为Arrayproducts_id
=)
除非你想打电话给Arrayproducts_id。
答案 3 :(得分:0)
第一个产品ID被命名为“Arrayproducts_id”。所以你可以打印“Arrayproducts_id”