array_merge_deep()
函數(shù)可以合并多維數(shù)組,包括具有不同長度的數(shù)組。它的工作原理是將輸入的數(shù)組遞歸地合并為一個(gè)新數(shù)組。在合并過程中,如果遇到數(shù)值鍵,它會(huì)將這些鍵視為數(shù)組索引,并根據(jù)數(shù)值的大小將值放入新數(shù)組的相應(yīng)位置。如果遇到字符串鍵,它會(huì)直接使用該鍵作為新數(shù)組的索引。
以下是一個(gè)示例,展示了如何使用 array_merge_deep()
合并具有不同長度數(shù)組的數(shù)組:
$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);
輸出結(jié)果:
Array
(
[a] => 5
[b] => Array
(
[0] => 2
[1] => 3
[c] => 4
[d] => 8
)
[e] => 9
)
在這個(gè)示例中,$array1
和 $array2
具有不同的長度和結(jié)構(gòu),但 array_merge_deep()
函數(shù)成功地合并了它們。