在我们实际的PHP项目开发中,数组合并是常用的操作之一。array_merge() 函数可以把一个或多个数组合并为一个数组。如果两个或更多个数组元素有相同的键名,则最后的元素会覆盖其他元素。如果是整数下标则会重新排,不会覆盖。数组相加则是先出现的保留,后出现的舍弃。如果有相同的整数下表则也会先出现的保留,后出现的舍弃,然后再重新排列下标。下面PHP程序员雷雪松举个例子来讲解一下PHP数组合并之array_merge和数组相加。
$programmer1 = array(“a”=>“PHP程序员”,“b”=>“JAVA程序员”,“IOS程序员”);
$programmer2 = array(“c” =>“安卓程序员”,“d” => “ASP程序员”,“前端”,“a”=> “DBA”);
p
r
o
g
r
a
m
m
e
r
3
=
a
r
r
a
y
m
e
r
g
e
(
programmer3 = array_merge(
programmer3=arraymerge(programmer1,$programmer2);
$programmer4 = $programmer1 +
p
r
o
g
r
a
m
m
e
r
2
;
v
a
r
d
u
m
p
(
programmer2; var_dump(
programmer2;vardump(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( p r o g r a m m e r 4 ) ; a r r a y ( 5 ) [ " a " ] = > s t r i n g ( 12 ) " P H P 程 序 员 " [ " b " ] = > s t r i n g ( 13 ) " J A V A 程 序 员 " [ 0 ] = > s t r i n g ( 12 ) " I O S 程 序 员 " [ " c " ] = > s t r i n g ( 15 ) " 安 卓 程 序 员 " [ " d " ] = > s t r i n g ( 12 ) " A S P 程 序 员 " 在 使 用 a r r a y m e r g e 合 并 时 , 下 标 为 a 的 最 终 结 果 是 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的最终结果是 programmer4);array(5)["a"]=>string(12)"PHP程序员"["b"]=>string(13)"JAVA程序员"[0]=>string(12)"IOS程序员"["c"]=>string(15)"安卓程序员"["d"]=>string(12)"ASP程序员"在使用arraymerge合并时,下标为a的最终结果是programmer2 中出现的DBA, p r o g r a m m e r 1 和 programmer1和 programmer1和programmer2 中的数字下标则重新排列,并没有覆盖,有两个数字下标的值。而在使用两个数组相加合并时,下标为a的最终结果是 p r o g r a m m e r 1 中 出 现 的 P H P 程 序 员 , 整 数 下 标 只 有 一 个 programmer1 中出现的PHP程序员,整数下标只有一个 programmer1中出现的PHP程序员,整数下标只有一个programmer1 中的IOS程序员,并且下标也会重新排列。
我的开源商城马上要发布 了,欢迎大家关注
开源地址:http://github.crmeb.net/u/lsq