PHP数组合并之array_merge和数组相加

PHP

在我们实际的PHP项目开发中,数组合并是常用的操作之一。array_merge() 函数可以把一个或多个数组合并为一个数组。如果两个或更多个数组元素有相同的键名,则最后的元素会覆盖其他元素。如果是整数下标则会重新排,不会覆盖。数组相加则是先出现的保留,后出现的舍弃。如果有相同的整数下表则也会先出现的保留,后出现的舍弃,然后再重新排列下标。下面PHP程序员雷雪松举个例子来讲解一下PHP数组合并之array_merge和数组相加。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
$programmer1 = array("a"=>"PHP程序员","b"=>"JAVA程序员","IOS程序员");
$programmer2 = array("c" =>"安卓程序员","d" => "ASP程序员","前端","a"=> "DBA");
$programmer3 = array_merge($programmer1,$programmer2);
$programmer4 = $programmer1 + $programmer2;
var_dump($programmer3);
array(6) {
["a"]=>
string(3) "DBA"
["b"]=>
string(13) "JAVA程序员"
[0]=>
string(12) "IOS程序员"
["c"]=>
string(15) "安卓程序员"
["d"]=>
string(12) "ASP程序员"
[1]=>
string(6) "前端"
}

var_dump($programmer4);
array(5) {
["a"]=>
string(12) "PHP程序员"
["b"]=>
string(13) "JAVA程序员"
[0]=>
string(12) "IOS程序员"
["c"]=>
string(15) "安卓程序员"
["d"]=>
string(12) "ASP程序员"
}

在使用array_merge合并时,下标为a的最终结果是$programmer2 中出现的DBA,$programmer1和$programmer2 中的数字下标则重新排列,并没有覆盖,有两个数字下标的值。而在使用两个数组相加合并时,下标为a的最终结果是$programmer1 中出现的PHP程序员,整数下标只有一个$programmer1 中的IOS程序员,并且下标也会重新排列。

来源:PHP数组合并之array_merge和数组相加

发表评论

电子邮件地址不会被公开。 必填项已用*标注