我有一些未知数量的迭代,其中每次迭代都给出了两个数组。
for ($i = 0; $i<sizeof($foo); $i++) {
$array1 = //do something
$array2 = //do something
$result = //($result + $array1 + $array2)
}
我想要做的是将这些数组的元素追加到$result
。
如果我使用array_merge()
,我无法将$result
的先前元素添加到其中。
如果我使用array_push()
我会得到一个我不想要的2D数组。
array_push($result, $array1, $array2);
那么问题的最佳解决方案是什么?有没有办法在不迭代每个数组并推送每个元素的情况下做到这一点?
答案 0 :(得分:2)
使用call_user_func_array函数的解决方案:
...
$result = call_user_func_array("array_merge", [$result, $array1, $array2]);
...