PHP

php array_merge_deep能否处理不同长度数组

小樊
81
2024-10-13 22:19:40
栏目: 编程语言

array_merge_deep() 函数可以合并多维数组,包括具有不同长度的数组。它的工作原理是将输入的数组递归地合并为一个新数组。在合并过程中,如果遇到数值键,它会将这些键视为数组索引,并根据数值的大小将值放入新数组的相应位置。如果遇到字符串键,它会直接使用该键作为新数组的索引。

以下是一个示例,展示了如何使用 array_merge_deep() 合并具有不同长度数组的数组:

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

$array2 = [
    'a' => 5,
    'b' => [
        6,
        7,
        'd' => 8,
    ],
    'e' => 9,
];

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

print_r($mergedArray);

输出结果:

Array
(
    [a] => 5
    [b] => Array
        (
            [0] => 2
            [1] => 3
            [c] => 4
            [d] => 8
        )

    [e] => 9
)

在这个示例中,$array1$array2 具有不同的长度和结构,但 array_merge_deep() 函数成功地合并了它们。

0
看了该问题的人还看了