PHP,合并多维数组中的键

时间:2013-04-25 11:55:25

标签: php arrays

如果我有一个看起来像这样的数组:

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函数可以用吗?

我希望这有任何意义,并提前感谢我能得到任何帮助。

1 个答案:

答案 0 :(得分:13)

您可以使用array_merge_recursive将原始数组中的所有项目合并在一起。并且由于该函数需要可变数量的参数,如果在编译时未知此数字,则可以使用call_user_func_array以获得额外的便利:

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

结果会将您输入的“最高级别”修剪掉(逻辑上,因为您将多个项目合并为一个)但将保留所有剩余的结构。

<强> See it in action