2017-08-31 94 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對此的任何更新 –