PHP array_merge()
函数 用于合并一个或多个数组,是php中数组合并的方法之一,也是php开发中常用的数组方法。
语法
array_merge(array1,array2,array3...)
参数
参数 | 说明 | 必须/可选 |
---|---|---|
array1 | 第一个数组 | 必须 |
array2 | 第二个数组 | 可选 |
array3 | 第三个数组... | 可选 |
返回值
返回合并后的新的数组
需要注意
- 如果相同的键名,后面数组的值会覆盖前面数组的值; 如果想让前面覆盖后面的可以使用+号合并数组。
- 如果传入的数组参数有一个是null,则返回null。
- 如果只传入一个数组,且键名是数字,则会格式化它。
例子
根据以上三点举出3个不同的例子看下效果。
1. 第一种情况的例子,后面数组的值会覆盖前面数组的值。
<?php
$color1 = array("a"=>"red","b"=>"yellow","c"=>"green");
$color2 = array("b"=>"blue","d"=>"pink");
$result1 = array_merge($color1, $color2); //后面数组的值会覆盖前面数组的值
$result2 = $color1+$color2; //+号前面覆盖后面的
var_dump($result1);
var_dump($result2);
?>
输出array(4) {
["a"]=>
string(3) "red"
["b"]=>
string(4) "blue"
["c"]=>
string(5) "green"
["d"]=>
string(4) "pink"
}
array(4) {
["a"]=>
string(3) "red"
["b"]=>
string(6) "yellow"
["c"]=>
string(5) "green"
["d"]=>
string(4) "pink"
}
["a"]=>
string(3) "red"
["b"]=>
string(4) "blue"
["c"]=>
string(5) "green"
["d"]=>
string(4) "pink"
}
array(4) {
["a"]=>
string(3) "red"
["b"]=>
string(6) "yellow"
["c"]=>
string(5) "green"
["d"]=>
string(4) "pink"
}
2. 传入的数组参数有一个是null,则返回null的例子。
<?php
$color1 = array("a"=>"red","b"=>"yellow","c"=>"green");
$color2 = null;
$result=array_merge($color1, $color2);//null的例子
var_dump($result);
?>
输出:
NULL
3. 第3种情况,单个数组格式化的例子。
<?php
$a=array(
'2'=>'2',
'4'=>'4',
'6' => '6'
);
$result=array_merge($a);//它格式化了数组
var_dump($result);
?>
输出:array(3) {
[0]=>
string(1) "2"
[1]=>
string(1) "4"
[2]=>
string(1) "6"
}
[0]=>
string(1) "2"
[1]=>
string(1) "4"
[2]=>
string(1) "6"
}