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()
函数成功地合并了它们。