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_fetch_assoc返回来的数组 不用foreach----echo
May 04 PHP
php获取后台Job管理的实现代码
Jun 10 PHP
php安全配置 如何配置使其更安全
Dec 16 PHP
php不写闭合标签的好处
Mar 04 PHP
php+mysqli实现批量替换数据库表前缀的方法
Dec 29 PHP
php自定义时间转换函数示例
Dec 07 PHP
php中static和const关键字用法分析
Dec 07 PHP
mac os快速切换多个PHP版本的方法
Mar 07 PHP
php 删除指定文件夹的实例讲解
Jul 25 PHP
PHP count()函数讲解
Feb 03 PHP
PHP实现通过文本文件统计页面访问量功能示例
Feb 13 PHP
php中用unset销毁变量并释放内存
May 10 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绘制一个扇形的方法
2015/01/24 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
2018/02/23 PHP
如何在centos8自定义目录安装php7.3
2019/11/28 PHP
JQuery 遮罩层实现(mask)实现代码
2010/01/09 Javascript
jquery星级插件、支持页面中多次使用
2012/03/25 Javascript
javascript查找字符串中出现最多的字符和次数的小例子
2013/10/29 Javascript
jQuery检测返回值的数据类型
2015/07/13 Javascript
Node.js中process模块常用的属性和方法
2016/12/13 Javascript
js return返回多个值,通过对象的属性访问方法
2017/02/21 Javascript
仿淘宝JSsearch搜索下拉深度用法
2018/01/15 Javascript
jQuery实现的别踩白块小游戏完整示例
2019/01/07 jQuery
Vuepress 搭建带评论功能的静态博客的实现
2019/02/17 Javascript
JavaScript canvas实现跟随鼠标事件
2020/02/10 Javascript
vue从零实现一个消息通知组件的方法详解
2020/03/16 Javascript
[03:02]辉夜杯主赛事第二日 每日之星
2015/12/27 DOTA
Python制作爬虫抓取美女图
2016/01/20 Python
详解Python中的array数组模块相关使用
2016/07/05 Python
python实现kNN算法
2017/12/20 Python
Python使用min、max函数查找二维数据矩阵中最小、最大值的方法
2018/05/15 Python
详解Django定时任务模块设计与实践
2019/07/24 Python
python中的itertools的使用详解
2020/01/13 Python
如何使用repr调试python程序
2020/02/28 Python
Python Tkinter图形工具使用方法及实例解析
2020/06/15 Python
python使用bs4爬取boss直聘静态页面
2020/10/10 Python
Python应用自动化部署工具Fabric原理及使用解析
2020/11/30 Python
荷兰鞋子在线:Nelson Schoenen
2017/12/25 全球购物
LODI女鞋在线商店:阿利坎特的鞋类品牌
2019/02/15 全球购物
Antonioli美国在线商店:时尚前卫奢华
2019/07/29 全球购物
Myprotein亚太地区:欧洲第一在线运动营养品牌
2020/12/20 全球购物
初一科学教学反思
2014/01/27 职场文书
2014政府领导班子对照检查材料思想汇报(3篇)
2014/09/26 职场文书
2015年大学班级工作总结
2015/04/28 职场文书
蜗居观后感
2015/06/11 职场文书
幼儿园春季开学通知
2015/07/16 职场文书
2015年治庸问责工作总结
2015/07/27 职场文书
详解python中[-1]、[:-1]、[::-1]、[n::-1]使用方法
2021/04/25 Python