更简单的方法来展平或合并php数组比这个?

时间:2012-02-06 07:45:04

标签: php arrays merge flatten

我有一个数组数组。

例如:

$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);
  }
}

2 个答案:

答案 0 :(得分:9)

从PHP 5.6开始,您可以使用...运算符来提供参数:

array_merge(...$array)

旧答案

根据建议,您可以使用array_merge。如果您不知道$array中有多少值,可以使用以下内容:

call_user_func_array('array_merge', $array);

答案 1 :(得分:4)

array_merge符合条款。

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

或者如果你坚持迭代:

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