php 动态创建数组并合并
php create arrays dynamically and merge
我正在尝试在 foreach 循环中动态创建未知数量的数组,在末尾将它们全部合并到一个数组中,然后在 JSON Google 分析的格式。
到目前为止,我有以下代码在合并部分抛出错误:
$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 的新手,我已经尽力让它发挥作用。
我想我明白你想做什么。只需将 []
动态附加到数组即可,无需合并:
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;
之类的变量变量(尽管未正确完成)之类的东西不应该使用。
我正在尝试在 foreach 循环中动态创建未知数量的数组,在末尾将它们全部合并到一个数组中,然后在 JSON Google 分析的格式。
到目前为止,我有以下代码在合并部分抛出错误:
$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 的新手,我已经尽力让它发挥作用。
我想我明白你想做什么。只需将 []
动态附加到数组即可,无需合并:
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;
之类的变量变量(尽管未正确完成)之类的东西不应该使用。