我有一个多维数组。像这样。
Array
(
[38] => Array
(
[quantity] => 1
[price] => 149
[product_code] => 4578425
)
[39] => Array
(
[quantity] => 2
[price] => 300
[product_code] => 4578426
)
)
我想从这些值创建查询字符串,如
https://www.domain.com/checkout.php?PRODS=4578425,4578426&QTY=1,2&CART=1
答案 0 :(得分:1)
我认为AFAIK是不可能的,因为你有阵列中的数组,所以使用implode
无济于事。但是,使用循环,是的。
$prods = array();
$qty = array();
foreach ($array as $item)
{
$prods[] = $item["product_code"];
$qty[] = $item["quantity"];
}
echo 'https://www.domain.com/checkout.php?PRODS=', implode(',', $prods),'&QTY=', implode(',', $qty),'&CART=1';
答案 1 :(得分:0)
您可以使用implode()
方法
$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);
echo $comma_separated; // lastname,email,phone
答案 2 :(得分:0)
是的,我认为有办法,
您可以使用序列化将其放入字符串中,然后反序列化以将其恢复为如下数组:
<?php
$arr = Array
(
38 => Array
(
'quantity' => 1,
'price' => 149,
'product_code' => 4578425
),
39 => Array
(
'quantity' => 2,
'price' => 300,
'product_code' => 4578426
)
);
$newarr = 'https://www.domain.com/checkout.php?string=';
$newarr .= serialize($arr);
?>
然后你有这个结果:
https://www.domain.com/checkout.php?string=a:2:{I:38;一个:3:{S:8: “量”; I:1; S:5: “价格”; I:149; S:12: “PRODUCT_CODE” ; I:4578425;} I:39; A:3:{S:8: “量”; I:2; S:5: “价格”; I:300; S:12: “PRODUCT_CODE”; I:4578426 ;}}一个:2:{I:38;一个:3:{S:8: “量”; I:1; S:5: “价格”; I:149; S:12: “PRODUCT_CODE” 我:4578425;} I:39; A:3:{S:8: “量”; I:2; S:5: “价格”; I:300; S:12: “PRODUCT_CODE”; I:4578426;} }
没有循环,但它不漂亮!!!
如果您想使用此内部网址,我必须提醒您。 url get方法仅用于id或其他键值之类的简短信息。如果您的网址超过2000个字符,大多数网络服务器都会遇到问题。不确定这是不是你的意图。