PHP中array_merge与数组有什么不同

PHP中array_merge与数组有什么不同?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

首先来看看键名是字符串,两者区别:

代码如下:


& lt; ?php数组
$ arr1=(& # 39;一个# 39;=祝辞& # 39;php # 39;);
$ arr2=数组(& # 39;一个# 39;=祝辞& # 39;java # 39;);
//如果键名为字符,且键名相同,array_merge()后面数组元素值会覆盖前面数组元素值
print_r (array_merge (arr1, arr2美元));//数组([a]=比;JAVA)
//如果键名为字符,且键名相同,数组相加会将最先出现的值作为结果
print_r (arr1 + arr2美元);//数组([a]=比;PHP)
?在


如果键名是数字,两者区别:

代码如下:


& lt; ?php数组
$ arr1=(“C",“PHP");
$ arr2=数组(“JAVA",“PHP");
//如果键名为数字,array_merge()不会进行覆盖
print_r (array_merge (arr1, arr2美元));//阵列([0]=比;C[1]=比;PHP[2]=比;JAVA[3]=比;PHP)
//如果键名为数组,数组相加会将最先出现的值作为结果,后面键名相同的会被抛弃
print_r (arr1 + arr2美元);//阵列([0]=比;C[1]=比;PHP)
?在


特别要注意。关于“array_merge和数组相加的区别”上面已经阐述的很清楚了,回到我最初的问题”如何最有效的获取字符键名相同值不同的两个数组值集合呢”,不会这要对每个数组遍历吧,PHP中还有一个函数,获取你不常用:array_merge_recursive——递归地合并一个或多个数组,如果输入的数组中有相同的字符串键名,则这些值会被合并到一个数组中去。如下例:

代码如下:


& lt; ?php数组
$ arr1=(““a"=; php",“c");
$ arr2=数组(““a"=; java",“c",“ruby");
print_r (array_merge_recursive (arr1, arr2美元));
?在


结果如下:数组

(
,,,(一)=比;数组
,,,,,,,(
,,,,,,,,,,,[0]=比;php
,,,,,,,,,,,[1]=比;java
,,,,,,,)
,,,[0]=比;c
,,,[1]=比;c
,,,[2]=比;ruby
)
这样,就可以获取多个数组中键名相同的元素值集合了。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

PHP中array_merge与数组有什么不同