2013-04-25 166 views
5

如果我有一個數組,看起來是這樣的:PHP,合併鍵在多維數組

Array 
(
    [0] => Array 
    (
     [DATA] => Array 
    (
     VALUE1 = 1 
     VALUE2 = 2 
    ) 
    ) 
    [1] => Array 
    ( 
     [DATA] => Array 
    (
     VALUE3 = 3 
     VALUE4 = 4 
    ) 
    ) 
) 

,並希望把它變成這樣:

Array 
(
    [0] => Array 
    (
     [DATA] => Array 
    (
     VALUE1 = 1 
     VALUE2 = 2 
     VALUE3 = 3 
     VALUE4 = 4 
    ) 
    ) 
) 

我基本上要合併所有相同級別的相同鍵。 什麼是最好的途徑來完成這個? array_merge函數可以用於任何用途嗎?

我希望這使得任何形式的感覺和提前感謝我可以得到任何幫助。

回答

12

您可以使用array_merge_recursive合併原始數組中的所有項目。而且,由於該函數採用可變數量的參數,使其笨重時,這個數字是在編譯時未知,則可以使用call_user_func_array額外的方便:

$result = call_user_func_array('array_merge_recursive', $array); 

結果將有您輸入的「頂級」剪掉(合乎邏輯,因爲你將多個項目合併爲一個),但會保留所有剩餘的結構。

See it in action

+0

我想知道是否有辦法做到這一點沒有寫出一個循環 - 非常整齊! – lewsid 2013-04-25 12:06:45