主要区别是两个或者多个数组中如果出现相同键名,键名分为字符串或者数字,需要注意

1)键名为数字时,array_merge()不会覆盖掉原来的值,但+合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(不是覆盖)

2)键名为字符时,+仍然把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉,但array_merge()此时会覆盖掉前面相同键名的值

<?php
$array1 = array(0 => 'zero_a', 2 => 'two_a', 3 => 'three_a');
$array2 = array(1 => 'one_b', 3 => 'three_b', 4 => 'four_b');
$result = $array1 + $array2;
var_dump($result);
?>
结果:
array(5) {[0]=>string(6) "zero_a"[2]=>string(5) "two_a"[3]=>string(7) "three_a"[1]=>string(5) "one_b"[4]=>string(6) "four_b"
}
<?php
$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge($array1, $array2);
print_r($result);
?>
结果:
Array
([color] => green[0] => 2[1] => 4[2] => a[3] => b[shape] => trapezoid[4] => 4
)

http://www.php.net/manual/zh/function.array-merge.php

另有函数array_merge_recursive()可对比学习。

转载于:https://www.cnblogs.com/eterwei/p/3822268.html

php 合并数组 +和array_merge的区别相关推荐

  1. php中合并数组的函数是,PHP合并数组函数array_merge用法分析

    本文实例讲述了PHP合并数组函数array_merge用法.分享给大家供大家参考,具体如下: 合并数组是把一个数组追加到另一个数组中,主要应用array_merge()函数实现 语法如下: array ...

  2. php对数组进行合成的函数,php合并数组函数array_merge()

    array_merge()函数在php中是对数组进行合并的,可以把多个数组合成一个数组,并且不改变原数组的值了,但今天我在使用array_merge合并数组时碰到几个小细节上的问题,下面我举例子给各位 ...

  3. PHP合并数组array_merge函数运算符加号与的区别

    "+"运算符和array_merge():array array_merge ( array array1, array array2 [, array ...] ) 都可以合并多 ...

  4. php 通过array_merge()和array+array合并数组的区别和效率比较

    众所周知合并两个数组可以使用array_merge(),这是php提供的一个函数.另外还可以通过 array 的方式来合并数组,这两种直接有什么区别,哪一个的效率更高呢? array_merge() ...

  5. PHP数组合并+与array_merge的区别分析 对多个数组合并去重技巧

    PHP中两个数组合并可以使用+或者array_merge,但之间还是有区别的,而且这些区别如果了解不清楚项目中会要命的! 主要区别是两个或者多个数组中如果出现相同键名,键名分为字符串或者数字,需要注意 ...

  6. 【最完整】基于php合并数组的几种方式介绍以及区别

    php的数组合并方式主要有以下几种: 1.array_merge 2." + " 3.array_merge_recursive 4.array_combine array_mer ...

  7. php 数组函数array_merge 合并数据的坑

    array_merge (PHP 4, PHP 5, PHP 7) array_merge - 合并一个或多个数组 说明 array_merge ( array $array1 [, array $. ...

  8. php数组,foreach循环合并数组,array_merge()的循环用法

    比如我知道了三个一级分类的id,1,2,3 $arr1=array(1,2,3); 我要循环这三个分类,依次去数据库查询他们各自的子分类.结果是得到三个数组 现在想他所有子分类合并在一起.然后,再随机 ...

  9. php合并数组,不使用函数array_merge()

    php合并数组函数: array_merge() 函数把一个或多个数组合并为一个数组. 提示: 您可以向函数输入一个或者多个数组. 注释: 如果两个或更多个数组元素有相同的键名,则最后的元素会覆盖其他 ...

最新文章

  1. python 配置文件编码问题
  2. python退出程序-python怎么终止程序
  3. BZOJ 4827 [Hnoi2017]礼物 ——FFT
  4. Day15模块(导入,使用)
  5. SOL注入——HTTP头部注入(2)(七)
  6. Win10修改管理员用户名(注册表深度完全修改更改c盘下的用户名)
  7. Java Mail+MYSQL+Tomcate+jsp实现企业快信系统
  8. 安装zabbix及LNMP的平台的搭建
  9. C语言 十进制和十六进制相互转换 - C语言零基础入门教程
  10. html 再按一次退出,【劲爆、独家】拦截再按一次退出应用,改成单击back隐藏到后台...
  11. Hadoop学习笔记(一)——编译安装和配置
  12. 微商爆粉2.0全自动批量加人模拟手动操作
  13. python的def什么意思_「Python基础」def是什么?如何自定义函数def
  14. win7无法连接打印机拒绝访问_win7无法连接打印机拒绝访问|WinXP访问Win10打印机被拒绝怎么办?...
  15. 【我的Android进阶之旅】Configuration 'compile' is obsolete and has been replaced with 'implementation' and
  16. 合成孔径雷达干涉测量InSAR数据处理、地形三维重建、形变信监息提取、测
  17. composer 报错 The “https://mirrors.aliyun.com/composer/p....json“ file could not be downloaded (HTTP/1
  18. Andorid基础 Android系统层次框架结构
  19. 矩阵的行列式的计算-余子式
  20. struct与typedef struct的区别

热门文章

  1. 【深度学习】模式识别技术探索之决策树(Decision tree)
  2. 【深度学习入门到精通系列】特别正经的合理调参介绍~❤️
  3. 【深度学习入门到精通系列】遗传算法 (Genetic Algorithm)
  4. 【Network Security!】5次Shift漏洞和PE系统
  5. python微信自动机器人
  6. C++ with STL(五)queuestacklist
  7. java中http解析url,java url 编码(解析http请求汉语言地址 )
  8. 如何做网络推广浅析在网站优化中如更换域名该如何避免降权风险?
  9. 数字经济时代下老年群体手机APP软件网络推广适老化需求日益明显
  10. 浅析网络营销外包中如何实现网络营销外包中的图片推广?