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'));