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 相关文章推荐
用php实现的获取网页中的图片并保存到本地的代码
Jan 05 PHP
PHP IF ELSE简化/三元一次式的使用
Aug 22 PHP
Linux fgetcsv取得的数组元素为空字符串的解决方法
Nov 25 PHP
优化PHP程序的方法小结
Feb 23 PHP
解析php dirname()与__FILE__常量的应用
Jun 24 PHP
php5.4以下版本json不支持不转义内容中文的解决方法
Jan 13 PHP
php实现mysql数据库分表分段备份
Jun 18 PHP
详解PHP数组赋值方法
Nov 07 PHP
Zend Framework教程之Zend_Db_Table_Row用法实例分析
Mar 21 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
Jul 21 PHP
php压缩文件夹最新版
Jul 18 PHP
php实现的简单多进程服务器类完整示例
Feb 01 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
PHP生成静态页面详解
2006/12/05 PHP
CodeIgniter框架钩子机制实现方法【hooks类】
2018/08/21 PHP
php curl操作API接口类完整示例
2019/05/21 PHP
PHP设计模式之外观模式(Facade)入门与应用详解
2019/12/13 PHP
基于jquery的无限级联下拉框js插件
2011/10/29 Javascript
js获取系统的根路径实现介绍
2013/09/08 Javascript
jquery如何扑捉回车键触发的事件
2014/04/24 Javascript
javascript面向对象之定义成员方法实例分析
2015/01/13 Javascript
实例详解JSON数据格式及json格式数据域字符串相互转换
2016/01/07 Javascript
JavaScript 弹出子窗体并返回结果到父窗体的实现代码
2016/05/28 Javascript
JQuery在循环中绑定事件的问题详解
2016/06/02 Javascript
jQuery针对input的class属性写了多个值情况下的选择方法
2016/06/03 Javascript
js从外部获取图片的实现方法
2016/08/05 Javascript
jQuery控制元素隐藏和显示
2017/03/03 Javascript
Nodejs中使用captchapng模块生成图片验证码
2017/05/18 NodeJs
基于Bootstrap table组件实现多层表头的实例代码
2017/09/07 Javascript
探索webpack模块及webpack3新特性
2017/09/18 Javascript
[原创]js实现保存文本框内容为本地文件兼容IE,chrome,火狐浏览器
2018/02/14 Javascript
教你如何用node连接redis的示例代码
2018/07/12 Javascript
nodejs检测因特网是否断开的解决方案
2019/04/17 NodeJs
jquery传参及获取方式(两种方式)
2020/02/13 jQuery
javascript实现前端成语点击验证
2020/06/24 Javascript
JavaScript实现鼠标经过表格某行时此行变色
2020/11/20 Javascript
python 正则表达式 概述及常用字符
2009/05/04 Python
django 自定义用户user模型的三种方法
2014/11/18 Python
python 3.5下xadmin的使用及修复源码bug
2017/05/10 Python
Python中表示字符串的三种方法
2017/09/06 Python
Pandas探索之高性能函数eval和query解析
2017/10/28 Python
微信跳一跳python自动代码解读1.0
2018/01/12 Python
Python文件读写保存操作的示例代码
2018/09/14 Python
快速解决jupyter notebook启动需要密码的问题
2020/04/21 Python
Python爬虫新手入门之初学lxml库
2020/12/20 Python
泰国健康和美容服务预订网站:GoWabi
2019/06/03 全球购物
委托书的写法
2014/08/30 职场文书
完美处理python与anaconda环境变量的冲突问题
2021/04/07 Python
Vue实现tab导航栏并支持左右滑动功能
2021/06/28 Vue.js