array_merge_deep()
函數(shù)可以處理特殊數(shù)據(jù)類型,如數(shù)組、對象等。這個函數(shù)會遞歸地合并兩個或多個數(shù)組,包括它們的嵌套數(shù)組。當(dāng)合并數(shù)組時,如果遇到數(shù)值鍵,它們會被轉(zhuǎn)換為整數(shù)索引。如果遇到字符串鍵且該鍵在目標(biāo)數(shù)組中不存在,它會被保留為字符串鍵。
以下是一個例子,展示了 array_merge_deep()
如何處理特殊數(shù)據(jù)類型:
$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);
輸出結(jié)果:
Array
(
[a] => 4
[b] => Array
(
[c] => 5
[d] => Array
(
[e] => 3
)
[f] => 6
)
[g] => stdClass Object
(
)
)
在這個例子中,$array1
和 $array2
的嵌套數(shù)組被遞歸地合并,同時對象 stdClass()
也被保留在結(jié)果數(shù)組中。