PHP合并两个数组的两种方法:+和array_merge区别
程序员文章站
2022-05-28 11:33:59
...
PHP合并两个数组的两种方法:+和array_merge区别
主要区别是当两个或者多个数组中如果出现相同键名,需要注意以下两点:首先需要说明一下php里面数组按键名大约可以分为字符串(关联数组)或者数字(数值数组),这里就不讨论多维数组了。
(1)键名为数字(数值数组)时,array_merge()不会覆盖掉原来的值,但+合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(不是覆盖)。
[1] => b
)
n:Array (
[0] => c
[1] => d
)
m+n 结果为 : Array (
[0] => a
[1] => b
)
array_merge(m,n)结果为 : Array (
[0] => a
[1] => b
[2] => c
[3] => d
)
m:Array (
[1] => a
[2] => b
)
n:Array (
[2] => c
[3] => d
)
m+n结果为 : Array (
[1] => a
[2] => b
[3] => d
)
array_merge(m,n)结果为 : Array (
[0] => a
[1] => b
[2] => c
[3] => d
)
m:Array (
[a] => a
[b] => b
)
n:Array (
[b] => c
[d] => d
)
m+n结果为 : Array (
[a] => a
[b] => b
[d] => d
)
array_merge(m,n)结果为 : Array (
[a] => a
[b] => c
[d] => d
)
PHP中合并两个数组可以使用+或者array_merge,但这两个还是有区别的,清楚的了解这两中处理方法的区别对项目的快速开发来说还是非常有必要的。
主要区别是当两个或者多个数组中如果出现相同键名,需要注意以下两点:首先需要说明一下php里面数组按键名大约可以分为字符串(关联数组)或者数字(数值数组),这里就不讨论多维数组了。
(1)键名为数字(数值数组)时,array_merge()不会覆盖掉原来的值,但+合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(不是覆盖)。
(2)键名为字符(关联数组)时,+仍然把最先出现的值作为最终结果返回,把后面的数组拥有相同键名的那些值“抛弃”掉,但array_merge()此时会覆盖掉前面相同键名的值。
下面通过几个具体的例子进行说明:
m:Array (
[0] => a[1] => b
)
n:Array (
[0] => c
[1] => d
)
m+n 结果为 : Array (
[0] => a
[1] => b
)
array_merge(m,n)结果为 : Array (
[0] => a
[1] => b
[2] => c
[3] => d
)
m:Array (
[1] => a
[2] => b
)
n:Array (
[2] => c
[3] => d
)
m+n结果为 : Array (
[1] => a
[2] => b
[3] => d
)
array_merge(m,n)结果为 : Array (
[0] => a
[1] => b
[2] => c
[3] => d
)
m:Array (
[a] => a
[b] => b
)
n:Array (
[b] => c
[d] => d
)
m+n结果为 : Array (
[a] => a
[b] => b
[d] => d
)
array_merge(m,n)结果为 : Array (
[a] => a
[b] => c
[d] => d
)
上一篇: 求指教,php处置多文件上传出错
下一篇: NGINX学习笔记——传递请求头
推荐阅读
-
php通过array_merge()函数合并关联和非关联数组的方法,array_merge数组
-
php通过array_merge()函数合并关联和非关联数组的方法_PHP教程
-
魔术方法 - php简单操作数组和对象时候遇到的两个问题,一起请教各位了
-
PHP合并数组+与array_merge的区别分析_PHP教程
-
PHP合并数组+与array_merge的区别分析_php技巧
-
php通过array_merge()函数合并两个数组的方法,array_merge数组_PHP教程
-
PHP合并两个或多个数组的方法
-
PHP合并数组+与array_merge的区别分析
-
PHP合并两个或多个数组的方法
-
php通过array_merge()函数合并两个数组的方法