我试图在foreach循环中动态创建未知数量的数组,最后将它们全部合并到一个数组中,并以 JSON 格式将其用于 Google Analytics。到目前为止,我有以下代码在合并部分引发错误: $p=1; foreach(...){ ... $arr = 'arr'.$p; $name = $order->ProductGroupName; $name = str_replace("'", "", $name); $arr = array( "name"=>$name, "id"=>$order->ProductCode, "price"=>$order->RRP, "quantity"=>$order->Quantity ); $p++; } for ($q = 1; $q<$p; $q++){ $arry = 'arr'.$q; $merge = array_merge($arry, $merge); };请问如何动态创建数组并在最后合并它们?我对 PHP 比较陌生,并且已经尽我所能让它工作。
1 回答
一只萌萌小番薯
TA贡献1795条经验 获得超7个赞
我想我明白你想要做什么。只需动态追加[]到数组,您不需要合并:
foreach($something as $order) {
$arr[] = array (
"name"=>str_replace("'", "", $order->ProductGroupName),
"id"=>$order->ProductCode,
"price"=>$order->RRP,
"quantity"=>$order->Quantity
);
}
如果您出于某种原因想要拥有字符串键,那么:
$p = 1;
foreach($something as $order) {
$arr["SomeText$p"] = array (
"name"=>str_replace("'", "", $order->ProductGroupName),
"id"=>$order->ProductCode,
"price"=>$order->RRP,
"quantity"=>$order->Quantity
);
$p++;
}
就是这样。检查:
print_r($arr);
诸如变量变量的臭味(尽管没有正确完成)之类的东西$arry = 'arr'.$q;不应该使用。
- 1 回答
- 0 关注
- 131 浏览
添加回答
举报
0/150
提交
取消