温馨提示×

php array_merge_deep能处理不同格式数组吗

PHP
小樊
81
2024-10-13 20:52:38
栏目: 编程语言

是的,array_merge_deep() 函数可以处理不同格式的数组。它会递归地合并数组的元素,包括嵌套的数组。这意味着,如果数组中有不同类型的元素(例如数字、字符串、数组等),array_merge_deep() 也会将它们合并在一起。

下面是一个例子,展示了如何使用 array_merge_deep() 合并两个不同格式的数组:

$array1 = [
    'a' => 1,
    'b' => [
        'c' => 2,
        'd' => [
            'e' => 3
        ]
    ]
];

$array2 = [
    'a' => 4,
    'b' => [
        'c' => 5,
        'f' => 6
    ],
    'g' => 7
];

$mergedArray = array_merge_deep($array1, $array2);

print_r($mergedArray);

输出结果:

Array
(
    [a] => 4
    [b] => Array
        (
            [c] => 5
            [d] => Array
                (
                    [e] => 3
                )

            [f] => 6
        )

    [g] => 7
)

在这个例子中,$array1$array2 的元素被递归地合并成了一个新的数组 $mergedArray。注意,数字键 'a''b' 的值被覆盖了,而嵌套数组 'd' 中的元素保持不变。

0