PHP array_merge_recursive()
函数表示递归地把一个或多个数组合并为一个数组。
这个不好讲解,需要通过下面的例子来理解它的用法。
语法
array_merge_recursive(array1,array2,array3...)
参数
参数 | 描述 | 必须/可选 |
---|---|---|
array1 | 规定数组。 | 必须 |
array2 | 规定数组。 | 可选 |
array3 | 规定数组。 | 可选 |
返回值
返回合并后的数组
注意的点
键名相同:会把该键名所对应的键值合并到一起,组成一个新的数组,看例子1。
键值相同:它不会覆盖前面的键名,而是附加到后面,看例子2。
例子
介绍一些例子了解PHP array_merge_recursive() 函数的用法。
例1
键名相同
<?php
$color1 = array("a"=>"red","b"=>"yellow","c"=>"green");
$color2 = array("a"=>"blue","d"=>"pink");
$result = array_merge_recursive($color1, $color2); //有相同的键名
var_dump($result);
?>
输出:array(4) {
["a"]=>
array(2) {
[0]=>
string(3) "red"
[1]=>
string(4) "blue"
}
["b"]=>
string(6) "yellow"
["c"]=>
string(5) "green"
["d"]=>
string(4) "pink"
}
["a"]=>
array(2) {
[0]=>
string(3) "red"
[1]=>
string(4) "blue"
}
["b"]=>
string(6) "yellow"
["c"]=>
string(5) "green"
["d"]=>
string(4) "pink"
}
这里把键名a对应的键值合并成一个新的数组。
例2
键名相同
<?php
$color1 = array("a"=>"red","b"=>"yellow","c"=>"green");
$color2 = array("e"=>"red","d"=>"pink");
$result = array_merge_recursive($color1, $color2); //有相同的键值 red
var_dump($result);
?>
输出:array(5) {
["a"]=>
string(3) "red"
["b"]=>
string(6) "yellow"
["c"]=>
string(5) "green"
["e"]=>
string(3) "red"
["d"]=>
string(4) "pink"
}
["a"]=>
string(3) "red"
["b"]=>
string(6) "yellow"
["c"]=>
string(5) "green"
["e"]=>
string(3) "red"
["d"]=>
string(4) "pink"
}