5

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

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 函数有什么用吗?

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

4

1 回答 1

13

您可以使用array_merge_recursive将原始数组中的所有项目合并在一起。并且由于该函数采用可变数量的参数,因此在编译时该数字未知时使其变得笨拙,您可以使用它call_user_func_array来获得额外的便利:

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

结果将删除您输入的“顶级”(合乎逻辑,因为您将多个项目合并为一个),但将保留所有剩余的结构。

看到它在行动

于 2013-04-25T12:03:02.497 回答