2015-05-04 65 views
-2

我有一個變量說$a返回以下陣列我如何將一個返回三個不同數組的數組合成一個數組?

Array 
(
    [0] => Array 
     (
      [0] => 759 
      [1] => 757 
      [2] => 467 
     ) 

    [1] => Array 
     (
      [0] => 759 
      [1] => 757 
     ) 

    [2] => Array 
     (
      [0] => 759 
      [1] => 467 
     ) 

) 

如何使它們合併成使用PHP一個陣列?

+0

可以使用array_merge功能 –

+0

正如上述評論說,你可以使用array_merge但它取決於輸出數組的格式你想要 –

+2

1.預期產量是多少? 2.你有什麼嘗試? – Rizier123

回答

0

使用array_merge();;因爲你一點點的foreach不知道你要去的子陣列的數量有:

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

既然你已經有了一個數組的數組,只需發送array_merge你的子陣。

+0

Array_merge不會工作,除非我錯過了一些東西。 請注意,數組封裝在父數組中。看到更新的代碼。 – Collizo4sky

+0

@ Collizo4sky \t合併應該工作,我上傳我的答案以適合您的需求。 – Mekap

+0

問題是,我不知道變量將包含多少個數組。 你可以重寫代碼到一個函數,接受一個多維的不同數量的子數組,如我的問題,併合並它們? – Collizo4sky

1

你可以嘗試用array_walk_recursivein_array檢查:

$final = array(); 

array_walk_recursive($array, function($item, $key) use (&$final){ 
    if(!in_array($item, $final)) $final[] = $item; 
}); 

Example

+0

我已更新問題代碼。請更新您的代碼。謝謝。 – Collizo4sky

+0

@ Collizo4sky:我的答案已經基於更新後的結構。 – potashin

+0

它的工作,但它很慢.. – Collizo4sky

相關問題