2013-04-25 5 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); 

結果は、あなたの入力の「トップレベル」を持っています(論理的に、複数のアイテムを1つにマージしているので)整理されていますが、残りの構造はすべて保持されます。

See it in action

+0

私は、ループを書くことなくこれを行う方法があるのだろうと思っていた - 非常にきれい! – lewsid

関連する問題