与此相比,扁平化或合并php数组更简单


easier way to flatten or merge php array than this?

我有一个数组数组。

例如:

$array[] = array("1", "2", "3");
$array[] = array("5", "9", "ok");
$array[] = array("test", "ok", 8");

将其展平/合并为一个数组的最简单方法是什么?

结果应该是:

$array = array("1", "2", "3", "5", "9", "ok", "test", "ok", "8");

有没有比下面的方法更容易/更简单的方法来获得这个结果?

$result = array();
foreach ($array as $subarray) {
  foreach ($subarray as $value) {
    array_push($result, $value);
  }
}

由于PHP 5.6,您可以使用...运算符来提供参数:

array_merge(...$array)

旧答案

根据建议,您可以使用array_merge进行此操作。如果你不知道$array中有多少个值,你可以使用这样的东西:

call_user_func_array('array_merge', $array);

array_merge符合要求。

$result = array_merge($array[1], $array[2], $array[3], ..., $array[N]);

或者如果你坚持迭代:

$result = array();
foreach ($array as $nested) {
     $result = array_merge($result, $nested);
}