我有一个多维数组,我需要在PHP中将其扁平化为单维数组。我试过在foreach
循环中使用array_merge
,但它没有产生预期的结果。下面是一个数组结构的例子:
$nums = array (
array(1, 2, 3),
array(4, 5, 6),
array(7, 8, 9)
);
这是我尝试过的代码,但它返回一个空数组:
$newArr = [];
foreach ($nums as $value) {
array_merge($newArr, $value);
}
我的期望是得到以下结果:
$newArr = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
在PHP中,将多维数组扁平化为单维数组的正确方法是什么?是否有更有效或可替代的解决方案来实现预期的输出?如有任何帮助或建议,不胜感激。
可以使用函数array_merge()这样:
$newArr = array_merge(...$nums)
这将使您的代码更轻松,并避免使用foreach循环。
array_merge返回合并的结果,而不是像sort()那样对传递的参数起作用。你需要做的是:
$newArr = array_merge($newArr, $value);