温馨提示×

php array_merge_deep能否处理特殊数据类型

PHP
小樊
82
2024-10-13 22:24:40
栏目: 编程语言

array_merge_deep() 函数可以处理特殊数据类型,如数组、对象等。这个函数会递归地合并两个或多个数组,包括它们的嵌套数组。当合并数组时,如果遇到数值键,它们会被转换为整数索引。如果遇到字符串键且该键在目标数组中不存在,它会被保留为字符串键。

以下是一个例子,展示了 array_merge_deep() 如何处理特殊数据类型:

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

$array2 = [
    'a' => 4,
    'b' => [
        'c' => 5,
        'f' => 6
    ],
    'g' => new stdClass()
];

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

print_r($mergedArray);

输出结果:

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

            [f] => 6
        )

    [g] => stdClass Object
        (
        )

)

在这个例子中,$array1$array2 的嵌套数组被递归地合并,同时对象 stdClass() 也被保留在结果数组中。

0