PHP合并数组+与array_merge的区别分析


Posted in PHP onAugust 01, 2010

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

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

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

需要注意的是数组键形式 '数字' 等价于 数字

$a = array('a','b'); 
$b = array('c', 'd'); 
$c = $a + $b; 
var_dump($a); 
var_dump(array_merge($a, $b)); $a = array(0 => 'a', 1 => 'b'); 
$b = array(0 => 'c', 1 => 'b'); 
$c = $a + $b; 
var_dump($c); 
var_dump(array_merge($a, $b)); 
$a = array('a', 'b'); 
$b = array('0' => 'c', 1 => 'b'); 
$c = $a + $b; 
var_dump($c); 
var_dump(array_merge($a, $b)); 
$a = array(0 => 'a', 1 => 'b'); 
$b = array('0' => 'c', '1' => 'b'); 
$c = $a + $b; 
var_dump($c); 
var_dump(array_merge($a, $b));

结果
array 
0 => string 'a' (length=1) 
1 => string 'b' (length=1) 
2 => string 'c' (length=1) 
3 => string 'd' (length=1) array 
0 => string 'a' (length=1) 
1 => string 'b' (length=1) 
array 
0 => string 'a' (length=1) 
1 => string 'b' (length=1) 
2 => string 'c' (length=1) 
3 => string 'b' (length=1) 
array 
0 => string 'a' (length=1) 
1 => string 'b' (length=1) 
array 
0 => string 'a' (length=1) 
1 => string 'b' (length=1) 
2 => string 'c' (length=1) 
3 => string 'b' (length=1) 
array 
0 => string 'a' (length=1) 
1 => string 'b' (length=1) 
array 
0 => string 'a' (length=1) 
1 => string 'b' (length=1) 
2 => string 'c' (length=1) 
3 => string 'b' (length=1)
PHP 相关文章推荐
destoon整合ucenter后注册页面不跳转的解决方法
Jun 21 PHP
php获取apk包信息的方法
Aug 15 PHP
php实现求相对时间函数
Jun 15 PHP
PHP 设计模式系列之 specification规格模式
Jan 10 PHP
使用正则去除php代码中的注释方法
Nov 03 PHP
PHP编程获取音频文件时长的方法【基于getid3类】
Apr 20 PHP
laravel 5.3中自定义加密服务的方案详解
May 09 PHP
PHP基于PDO调用sqlserver存储过程通用方法【基于Yii框架】
Oct 07 PHP
PHP排序算法之希尔排序(Shell Sort)实例分析
Apr 20 PHP
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
Jun 22 PHP
PHP从尾到头打印链表实例讲解
Sep 27 PHP
Thinkphp5 如何隐藏入口文件index.php(URL重写)
Oct 16 PHP
PHP自定义函数收代码
Aug 01 #PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装最快的解决办法
Aug 01 #PHP
PHP5中使用PDO连接数据库的方法
Aug 01 #PHP
PHP网站安装程序制作的原理、步骤、注意事项和示例代码
Aug 01 #PHP
PHP Stream_*系列函数
Aug 01 #PHP
php下目前为目最全的CURL中文说明
Aug 01 #PHP
php feof用来识别文件末尾字符的方法
Aug 01 #PHP
You might like
《OVERLORD》第四季,终于等到你!
2020/03/02 日漫
PHP判断远程图片或文件是否存在的实现代码
2014/02/20 PHP
PHP+MySQL之Insert Into数据插入用法分析
2015/09/27 PHP
详解PHP 二维数组排序保持键名不变
2019/03/06 PHP
贴一个在Mozilla中常用的Javascript代码
2007/01/09 Javascript
各浏览器对click方法的支持差异小结
2011/07/31 Javascript
jquery获取元素值的方法(常见的表单元素)
2013/11/15 Javascript
AngularJS实现与Java Web服务器交互操作示例【附demo源码下载】
2016/11/02 Javascript
微信小程序 后台https域名绑定和免费的https证书申请详解
2016/11/10 Javascript
JS作用域深度解析
2016/12/29 Javascript
设置cookie指定时间失效(实例代码)
2017/05/28 Javascript
了解VUE的render函数的使用
2017/06/08 Javascript
如何通过非数字与字符的方式实现PHP WebShell详解
2017/07/02 Javascript
js模拟百度模糊搜索的实例
2017/08/04 Javascript
VUEX 数据持久化,刷新后重新获取的例子
2019/11/12 Javascript
探究一道价值25k的蚂蚁金服异步串行面试题
2020/08/21 Javascript
python函数参数*args**kwargs用法实例
2013/12/04 Python
Python中一些不为人知的基础技巧总结
2018/05/19 Python
用PyInstaller把Python代码打包成单个独立的exe可执行文件
2018/05/26 Python
Python 变量类型详解
2018/10/10 Python
python 统计一个列表当中的每一个元素出现了多少次的方法
2018/11/14 Python
由Python编写的MySQL管理工具代码实例
2019/04/09 Python
python 读取修改pcap包的例子
2019/07/23 Python
使用Tensorboard工具查看Loss损失率
2020/02/15 Python
python调用HEG工具批量处理MODIS数据的方法及注意事项
2020/02/18 Python
基于SpringBoot构造器注入循环依赖及解决方式
2020/04/26 Python
django 利用Q对象与F对象进行查询的实现
2020/05/15 Python
pytorch 查看cuda 版本方式
2020/06/23 Python
连卡佛中国官网:Lane Crawford中文站
2018/01/27 全球购物
游戏商店:Eneba
2020/04/25 全球购物
司机岗位职责
2013/11/15 职场文书
办公室保洁员岗位职责
2013/12/02 职场文书
美容师的职业规划书
2013/12/27 职场文书
终止劳动合同协议书
2014/10/05 职场文书
2015年学校管理工作总结
2015/07/20 职场文书
导游词之南京中山陵
2019/11/27 职场文书