函数名称:array_merge_recursive()
函数描述:array_merge_recursive() 函数使用递归地合并一个或多个数组。与array_merge()函数不同的是,当两个数组的键名相同时,array_merge_recursive() 函数会递归地将元素合并在一起,而不是简单地覆盖它们。
用法:
array_merge_recursive ( array $array1 , array $array2 [, array $... ] ) : array
参数:
- $array1: 必需,要合并的第一个数组。
- $array2: 必需,要合并的第二个数组。
- $...: 可选,要合并的更多数组。
返回值: 该函数返回一个合并后的数组。
示例:
$array1 = array('color' => array('favorite' => 'red'), 5);
$array2 = array(10, 'color' => array('favorite' => 'green', 'blue'));
$result = array_merge_recursive($array1, $array2);
print_r($result);
输出结果:
Array
(
[color] => Array
(
[favorite] => Array
(
[0] => red
[1] => green
)
[0] => blue
)
[0] => 5
[1] => 10
)
以上示例中,两个数组都包含一个相同的键名 "color",array_merge_recursive() 函数递归地合并了这些键,将它们的值作为一个新的数组元素返回。同时,其他键名 "5" 和 "10" 也被合并到结果数组中。
注意:如果两个数组具有相同的字符串键,则递归会发生在这些键所对应的值上。如果两个数组具有相同的键名且键名为数字,则第一个数组中的值将被替换,而第二个数组中的值将被追加到结果数组的末尾。