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隐形一句话后门,和ThinkPHP框架加密码程序(base64_decode)
Nov 02 PHP
深入解析Session是否必须依赖Cookie
Aug 02 PHP
PDO预处理语句PDOStatement对象使用总结
Nov 20 PHP
使用PHP处理数据库数据如何将数据返回客户端并显示当前状态
Feb 16 PHP
PHP计算当前坐标3公里内4个角落的最大最小经纬度实例
Feb 26 PHP
PHP strip_tags() 去字符串中的 HTML、XML 以及 PHP 标签的函数
May 22 PHP
PHP环形链表实现方法示例
Sep 15 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
Mar 31 PHP
php-fpm添加service服务的例子
Apr 27 PHP
PHP array_shift()用法实例分析
Jan 07 PHP
PHP项目多语言配置平台实现过程解析
May 18 PHP
详解Go与PHP的语法对比
May 29 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
国王的咖啡这么大来头,名字的由来是什么
2021/03/03 咖啡文化
php 计划任务 检测用户连接状态
2012/03/29 PHP
PHP抓取、分析国内视频网站的视频信息工具类
2014/04/02 PHP
destoon实现商铺管理主页设置增加新菜单的方法
2014/06/26 PHP
PHP基本语法总结
2014/09/06 PHP
php中动态变量用法实例
2015/06/10 PHP
解读PHP中的垃圾回收机制
2015/08/10 PHP
脚本收藏iframe
2006/07/21 Javascript
Javascript 文件夹选择框的两种解决方案
2009/07/01 Javascript
div层的移动及性能优化
2010/11/16 Javascript
ASP.NET jQuery 实例10 动态修改hyperlink的URL值
2012/02/03 Javascript
快速掌握Node.js中setTimeout和setInterval的使用方法
2016/03/21 Javascript
浅析Nodejs npm常用命令
2016/06/14 NodeJs
javascript实现瀑布流动态加载图片原理
2016/08/12 Javascript
BootStrap轻松实现微信页面开发代码分享
2016/10/21 Javascript
vue2.0多条件搜索组件使用详解
2020/03/26 Javascript
SVG动画vivus.js库使用小结(实例代码)
2017/09/14 Javascript
详解Vue中watch的详细用法
2018/11/28 Javascript
微信小程序实现元素渐入渐出动画效果封装方法
2019/05/18 Javascript
Vue项目vscode 安装eslint插件的方法(代码自动修复)
2020/04/15 Javascript
[40:01]OG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[46:20]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python标准库之Sys模块使用详解
2015/05/23 Python
Python实现的简单dns查询功能示例
2017/05/24 Python
Python File(文件) 方法整理
2019/02/18 Python
PyQt QCombobox设置行高的方法
2019/06/20 Python
Python Django框架模板渲染功能示例
2019/11/08 Python
tensorflow 2.1.0 安装与实战教程(CASIA FACE v5)
2020/06/30 Python
python批量检查两个对应的txt文件的行数是否一致的实例代码
2020/10/31 Python
CSS实现鼠标滑过鼠标点击代码写法
2016/12/26 HTML / CSS
Canvas高级路径操作之拖拽对象的实现
2019/08/05 HTML / CSS
采用专利算法搜索最廉价的机票:CheapAir
2016/09/10 全球购物
Columbia Sportswear法国官网:全球户外品牌
2020/09/25 全球购物
创建青年文明号材料
2014/05/09 职场文书
爱耳日宣传活动总结
2014/07/05 职场文书
经验交流材料格式
2014/12/30 职场文书