PHP数组合并之array_merge和数组相加
在我们实际的PHP项目开发中,数组合并是常用的操作之一。array_merge() 函数可以把一个或多个数组合并为一个数组。如果两个或更多个数组元素有相同的键名,则最后的元素会覆盖其他元素。如果是整数下标则会重新排,不会覆盖。数组相加则是先出现的保留,后出现的舍弃。如果有相同的整数下表则也会先出现的保留,后出现的舍弃,然后再重新排列下标。下面雷雪松举个例子来讲解一下PHP数组合并之array_merge和数组相加。
[cc lang=”php” escaped=”true”]$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程序员”
}[/cc]
在使用array_merge合并时,下标为a的最终结果是$programmer2 中出现的DBA,$programmer1和$programmer2 中的数字下标则重新排列,并没有覆盖,有两个数字下标的值。而在使用两个数组相加合并时,下标为a的最终结果是$programmer1 中出现的PHP程序员,整数下标只有一个$programmer1 中的IOS程序员,并且下标也会重新排列。
2019年3月28日 上午9:19
感谢分享。
2019年4月2日 上午9:43
数组真的很头疼
2019年5月10日 下午3:46
写的太经典了,我竟无言以对。
2019年6月9日 下午11:28
文章不错支持一下