2013-04-25 132 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