PHP数组合并:
1、array_merge 将两个数组简单合并,相同非数字key后一个数组值会覆盖前一个数组值
$a = [1,2,3,'a'=>1];
$b = [2,2,4,5,'a'=>2];
$c = array_merge($a,$b);
var_dump($c);
array(8) {
[0]=>int(1)
[1]=> int(2)
[2]=> int(3)
["a"]=> int(2)
[3]=> int(2)
[4]=> int(2)
[5]=> int(4)
[6]=> int(5)
}
2、array_combine();以第一个数组值为键,第二个数组值为值组成新数组,两个数组元素个数必须相同。
$a = [1,2,3,'a'=>1];
$b = [2,2,4,'a'=>6];
$c = array_combine($a,$b);
var_dump($c);
array(3) {
[1]=>int(6)
[2]=>int(2)
[3]=>int(4)
}
3、array_merge_recursive 递归地合并一个或多个数组
<?php
$ar1 = array("color" => array("favorite" => "red"), 5);
$ar2 = array(10, "color" => array("favorite" => "green", "blue"));
$result = array_merge_recursive($ar1, $ar2);
print_r($result);
?>
//输出
Array
(
[color] => Array
(
[favorite] => Array
(
[0] => red
[1] => green
)
[0] => blue
)
[0] => 5
[1] => 10
)
4、+ 加号,两个或多个数组相加
<?php
$a = [1,2,3,'a'=>1];
$b = [2,2,4,'a'=>6,'b'=>9];
$d = [1,6,7,8,'b'=>10];
$c = $a+$b+$d;
var_dump($c);
//输出
array(6) {
[0]=> int(1)
[1]=>int(2)
[2]=>int(3)
["a"]=>int(1)
["b"]=>int(9)
[3]=>int(8)
}
?>