阅读量:0
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()
也被保留在结果数组中。