我正在寻找一种方法将所有子数组合并为一个大数组。
array (
[0] =
[0] = '0ARRAY',
[1] = '1ARRAY'
[1] =
[0] = '2ARRAY',
[1] = '3ARRAY'
)
进入
array (
[0] = '0ARRAY', [1] = '1ARRAY', [2] = '2ARRAY', [3] = '3ARRAY'
)
不使用array_merge($array[0],$array[1])
因为我不知道实际上有多少个数组。所以我无法指定它们。
由于
答案 0 :(得分:18)
如果它只有两个级别的数组,则可以使用
$result = call_user_func_array('array_merge', $array);
只要$ array不是完全空的
就应该有效答案 1 :(得分:15)
如果我理解你的问题:
php 5.6 +
$array = array(
array('first', 'second'),
array('next', 'more')
);
$newArray = array_merge(...$array);
输出:
array(4) { [0]=> string(5) "first" [1]=> string(6) "second" [2]=> string(4) "next" [3]=> string(4) "more" }
php< 5.6
$newArray = call_user_func_array('array_merge', $array);
答案 2 :(得分:2)
$new_array = array();
foreach($main_array as $ma){
if(!empty($ma)){
foreach($ma as $a){
array_push($new_array, $a);
}
}
}
您可以通过放置以下值来尝试:
$main_array[0][0] = '1';
$main_array[0][1] = '2';
$main_array[1][0] = '3';
$main_array[1][1] = '4';
<强>输出:强>
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )