PHP数组的递归合并
2011-01-14 阅读 44
array\_merge\_recursive在键值相同时,不会覆盖已有的值,只是将其变为一个数组,同时存入。
一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。 如果输入的数组中有相同的字符串键名,则这些值会被合并到一个数组中去,这将递归下去,因此如果一个值本身是一个数组,本函数将按照相应的条目把它合并为另一个数组。然而,如果数组具有相同的数组键名,后一个值将不会覆盖原来的值,而是附加到后面。
例子:
$arr1 = array("a" => array("1" => "2"), 3, 'b'=>4);
$arr2 = array(5, "a" => array("6" => "7", "8"), 'b' => 2);
$result = array_merge_recursive($arr1, $arr2);
var_dump($result);
```
结果:
array(4) {
["a"]=>
array(3) {
[1]=>
string(1) "2"
[2]=>
string(1) "7"
[3]=>
string(1) "8"
}
[0]=>
int(3)
["b"]=>
array(2) {
[0]=>
int(4)
[1]=>
int(2)
}
[1]=>
int(5)
}
```
php 数组 递归 合并 array_merge_recursive
更新于 2023年03月28日