php合并数组array_merge函数运算符加号与的区别


Posted in PHP onOctober 31, 2008

array_merge在参考手册中的说明如下:
array_merge() 将两个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。

两个的区别是:

1.数组键名为数字键名时,要合并的两个数组中有同名数字KEY的时候,使用array_merge()不会覆盖掉原来的值,而使用“+”合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(注意:不是覆盖而是保留最先出现的那个值)。例子:

$array1 = array(1=>'0'); 

$array2 = array(1=> "data"); 
  $result1 = $array2 + $array1;/*结果为$array2的值*/ 
  print_r($result); 
$result = $array1 + $array2 ;/*结果为$array1的值*/ 
print_r($result); 
$result3 = array_merge($array2,$array1);/*结果为$array2和$array1的值,键名被重新分配*/ 
print_r($result3); 
$result4 = array_merge($array1,$array2);/*结果为$array1和$array2的值,键名被重新分配*/ 
print_r($result4);

输出结果为: 
Array 
( 
[1] => data 
) 
Array 
( 
[1] => 0 
) 
Array 
( 
[0] => data 
[1] => 0 
) 
Array 
( 
[0] => 0 
[1] => data 
)

2.当相同数组键名为字符时,“+”运算符与键名为数字时一样,但array_merge()此时会覆盖掉前面相同键名的值。

例子:

$array1 = array('asd'=>'0'); 
$array2 = array('asd' => "data"); 
  $result1 = $array2 + $array1;/*结果为$array2的值*/ 
  print_r($result); 
$result = $array1 + $array2 ;/*结果为$array1的值*/ 
print_r($result); 
$result3 = array_merge($array2,$array1);/*结果为$array1*/ 
print_r($result3); 
$result4 = array_merge($array1,$array2);/*结果为$array2*/ 
print_r($result4);

输出结果为:
Array 
( 
[asd] => data 
) 
Array 
( 
[asd] => 0 
) 
Array 
( 
[asd] => 0 
) 
Array 
( 
[asd] => data 
)
PHP 相关文章推荐
PHP操作mysql函数详解,mysql和php交互函数
May 19 PHP
pdo中使用参数化查询sql
Aug 11 PHP
php数组函数序列之array_sum() - 计算数组元素值之和
Oct 29 PHP
php去除换行(回车换行)的三种方法
Mar 26 PHP
php插入排序法实现数组排序实例
Feb 16 PHP
PHP 实现代码复用的一个方法 traits新特性
Feb 22 PHP
php 计算两个时间相差的天数、小时数、分钟数、秒数详解及实例代码
Nov 09 PHP
PHP对象实例化单例方法
Jan 19 PHP
thinkPHP5.0框架API优化后的友好性分析
Mar 17 PHP
php empty 函数判断结果为空但实际值却为非空的原因解析
May 28 PHP
php+js实现裁剪任意形状图片
Oct 31 PHP
浅谈PHP7中的一些小技巧
May 29 PHP
PHP syntax error, unexpected $end 错误的一种原因及解决
Oct 25 #PHP
smarty的保留变量问题
Oct 23 #PHP
攻克CakePHP系列三 表单数据增删改
Oct 22 #PHP
攻克CakePHP系列二 表单数据显示
Oct 22 #PHP
CakePHP去除默认显示的标题及图标的方法
Oct 22 #PHP
攻克CakePHP系列一 连接MySQL数据库
Oct 22 #PHP
PHP 反射机制实现动态代理的代码
Oct 22 #PHP
You might like
PHP与javascript对多项选择的处理
2006/10/09 PHP
PHP统计目录下的文件总数及代码行数(去除注释及空行)
2011/01/17 PHP
PHP获取ip对应地区和使用网络类型的方法
2015/03/11 PHP
PHP响应post请求上传文件的方法
2015/12/17 PHP
PHP实现的获取文件mimes类型工具类示例
2018/04/08 PHP
特殊字符、常规符号及其代码对照表
2006/06/26 Javascript
JS的replace方法详细介绍
2012/11/09 Javascript
jquery实现marquee效果(文字或者图片的水平垂直滚动)
2013/01/07 Javascript
解析使用js判断只能输入数字、字母等验证的方法(总结)
2013/05/14 Javascript
jquery监听div内容的变化具体实现思路
2013/11/04 Javascript
javascript从右边截取指定字符串的三种实现方法
2013/11/29 Javascript
js数组去重的常用方法总结
2014/01/24 Javascript
JavaScript异步加载浅析
2014/12/28 Javascript
AngularJs中route的使用方法和配置
2016/02/04 Javascript
ajax在兼容模式下失效的快速解决方法
2016/03/22 Javascript
Vue.js 2.0 移动端拍照压缩图片上传预览功能
2017/03/06 Javascript
浅谈vue路径优化之resolve
2017/10/13 Javascript
使用nodejs+express实现简单的文件上传功能
2017/12/27 NodeJs
Vue 2.5.2下axios + express 本地请求404的解决方法
2018/02/21 Javascript
vue组件name的作用小结
2018/05/23 Javascript
Vue vm.$attrs使用场景详解
2020/03/08 Javascript
Python 的 with 语句详解
2014/06/13 Python
对pandas中to_dict的用法详解
2018/06/05 Python
Python3实现将本地JSON大数据文件写入MySQL数据库的方法
2018/06/13 Python
对python使用telnet实现弱密码登录的方法详解
2019/01/26 Python
python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
2019/04/18 Python
Python3的高阶函数map,reduce,filter的示例详解
2019/07/23 Python
pandas-resample按时间聚合实例
2019/12/27 Python
canvas生成带二维码海报的踩坑记录
2019/09/11 HTML / CSS
澳大利亚手表品牌:Time IV Change
2018/10/06 全球购物
慕尼黑山地运动、户外服装和体育用品专家:Sporthaus Schuster
2019/08/27 全球购物
写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数
2016/04/13 面试题
营销主管自我评价怎么写
2013/09/19 职场文书
员工工作及收入证明
2014/10/28 职场文书
2016幼儿园教师年度考核评语
2015/12/01 职场文书
python图像处理 PIL Image操作实例
2022/04/09 Python