2017-08-31 88 views
0

将2维数组合并成1维数组的最佳方式是什么?将2维数组合并到1维数组中

源阵列:

$example = array(
     array(
      'red', 
      'green' 
     ), 
     array(
      'blue', 
      'brown' 
     ), 
     array(
      'yellow' 
     ) 
    ); 

所需的输出数组:

$output = array(
     'red', 
     'green', 
     'blue', 
     'brown', 
     'yellow' 
    ); 

解决方案,能工作,但我不知道这是否是最有效的,因为在使用array_merge的循环似乎是丑陋的:

$output = array(); 
    foreach($example as $v) { 
     array_merge($output , $v); 
    } 

有没有更有效的方法来做到这一点?这里

+0

有一个在util.php应该是一个方法 - http://brandonwamboldt.github.io/utilphp/#array_flatten – Bananaapple

+0

Uuups。这么久在这里,产生了一个双重的!对我感到羞耻。对不起,这样做。 – steven

回答

3

一个内胆是:

$output = call_user_func_array('array_merge', $example); 
+0

我会添加一条评论来描述这个调用的作用......我必须在6个月的时间内忘记 - 像'// flatten array'这样的东西可以帮助我更好地解决这个问题 –

2

试试这个

$result = call_user_func_array('array_merge', $example); 
print_r($result); 

输出将是

enter image description here


编辑作为文本输出

Array ([0] => red [1] => green [2] => blue [3] => brown [4] => yellow) 

了解更多关于call_user_func_array

+0

@steven对此的任何更新 –