php 在循环中合并 'subsets' 个数组
php merge 'subsets' of array in loop
我很难在循环中合并数组的子集。
我有一个大数组,可以包含任意数量的 $data 记录(取决于 API 结果)
当我尝试合并 2 个 'products' 子集时,效果很好:
$merged=array_merge($data[0][products], $data[1][products]);
但是因为我事先不知道最终会得到多少 $data 记录,所以我决定循环执行,如下所示:
foreach ($data as $products) {
$merged=array_merge($merged,$products[products]);
}
这行不通,我已经试了几个小时了,但还是没能让它工作。
尝试在 foreach
上方添加:
$merged = array();
另外我认为 $data[0][products]
需要 $data[0]['products']
。
这是使用 call_user_func_array
in combination with array_column
:
的理想情况
$merged = call_user_func_array('array_merge', array_column($data, 'products'));
我很难在循环中合并数组的子集。
我有一个大数组,可以包含任意数量的 $data 记录(取决于 API 结果)
当我尝试合并 2 个 'products' 子集时,效果很好:
$merged=array_merge($data[0][products], $data[1][products]);
但是因为我事先不知道最终会得到多少 $data 记录,所以我决定循环执行,如下所示:
foreach ($data as $products) {
$merged=array_merge($merged,$products[products]);
}
这行不通,我已经试了几个小时了,但还是没能让它工作。
尝试在 foreach
上方添加:
$merged = array();
另外我认为 $data[0][products]
需要 $data[0]['products']
。
这是使用 call_user_func_array
in combination with array_column
:
$merged = call_user_func_array('array_merge', array_column($data, 'products'));