2

我有一个数组数组。

例如:

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

2 回答 2

13

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

array_merge(...$array)

旧答案

如建议的那样,您可以使用array_merge它。如果你不知道你的值有多少,$array你可以使用这样的东西:

call_user_func_array('array_merge', $array);
于 2012-02-06T07:50:34.820 回答
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);
}
于 2012-02-06T07:46:57.403 回答