php array_merge函数使用需要注意的一个问题


Posted in PHP onMarch 30, 2015

使用php语言的array_merge函数时,以为相同的键名会覆盖,但是请看如下代码:

$a1 = array(1=>'abc', 3=>10);

$a2 = array(1=>'efg', 3=>20);

print_r(array_merge($a1, $a2));

会输出什么?我们预想中的是:

Array

(

    [1] => efg

    [3] => 20

)

实际上输出的是:

Array

(

    [0] => abc

    [1] => 10

    [2] => efg

    [3] => 20

)

不但没有被覆盖,而且数字键被重新连续索引了。

起初以为这个是bug,后来翻了php手册 http://php.net/manual/zh/function.array-merge.php

「如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。
如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。」

PHP 相关文章推荐
一个php作的文本留言本的例子(四)
Oct 09 PHP
PHP获取和操作配置文件php.ini的几个函数介绍
Jun 24 PHP
ThinkPHP3.1新特性之Action参数绑定
Jun 19 PHP
跨浏览器PHP下载文件名中的中文乱码问题解决方法
Mar 05 PHP
php去除头尾空格的2种方法
Mar 16 PHP
使用phpstorm和xdebug实现远程调试的方法
Dec 29 PHP
Mac下php 5升级到php 7的步骤详解
Apr 26 PHP
PHP实现腾讯与百度坐标转换
Aug 05 PHP
PDO::inTransaction讲解
Jan 28 PHP
启用OPCache提高PHP程序性能的方法
Mar 21 PHP
PHP中->和=>的意思
Mar 31 PHP
PHP设计模式(观察者模式)
Jul 07 PHP
PHP CodeIgniter框架的工作原理研究
Mar 30 #PHP
PHP实现动态柱状图改进版
Mar 30 #PHP
PHP动态柱状图实现方法
Mar 30 #PHP
php实现的一个简单json rpc框架实例
Mar 30 #PHP
php实现读取内存顺序号
Mar 29 #PHP
php实现插入排序
Mar 29 #PHP
php实现插入数组但不影响原有顺序的方法
Mar 27 #PHP
You might like
PHP的ASP防火墙
2006/10/09 PHP
Destoon旺旺无法正常显示,点击提示“会员名不存在”的解决办法
2014/06/21 PHP
如何使用微信公众平台开发模式实现多客服
2016/01/06 PHP
PHP+RabbitMQ实现消息队列的完整代码
2019/03/20 PHP
javascript 函数参数限制说明
2010/11/19 Javascript
node在两个div之间移动,用ztree实现
2013/03/06 Javascript
js/jquery去掉空格,回车,换行示例代码
2013/11/05 Javascript
JQuery中阻止事件冒泡几种方式及其区别介绍
2014/01/15 Javascript
Windows 系统下设置Nodejs NPM全局路径
2016/04/26 NodeJs
深入解析Backbone.js框架的依赖库Underscore.js的作用
2016/05/07 Javascript
轻松掌握JavaScript代理模式
2016/08/26 Javascript
学习掌握JavaScript中this的使用技巧
2016/08/29 Javascript
JS实现点击表头表格自动排序(含数字、字符串、日期)
2017/01/22 Javascript
angularjs实现下拉列表的选中事件示例
2017/03/03 Javascript
前端常见跨域解决方案(全)
2017/09/19 Javascript
Layui 数据表格批量删除和多条件搜索的实例
2019/09/04 Javascript
在vue项目中利用popstate处理页面返回的操作介绍
2020/08/06 Javascript
vue+echarts实现动态折线图的方法与注意
2020/09/01 Javascript
[39:53]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第一场 11.19
2020/11/19 DOTA
简单的python协同过滤程序实例代码
2018/01/31 Python
pandas重新生成索引的方法
2018/11/06 Python
Python实现随机创建电话号码的方法示例
2018/12/07 Python
使用Python快速制作可视化报表的方法
2019/02/03 Python
Python+OpenCV采集本地摄像头的视频
2019/04/25 Python
Python绘制股票移动均线的实例
2019/08/24 Python
pytorch实现mnist分类的示例讲解
2020/01/10 Python
PyCharm汉化安装及永久激活详细教程(靠谱)
2020/01/16 Python
django rest framework serializers序列化实例
2020/05/13 Python
Python实现AES加密,解密的两种方法
2020/10/03 Python
五种Python转义表示法
2020/11/27 Python
优秀员工表扬信
2014/01/17 职场文书
小学优秀教育工作者事迹材料
2014/05/09 职场文书
2015年党员个人剖析材料
2014/12/18 职场文书
试用期工作表现自我评价
2015/03/06 职场文书
开学第一周值周总结
2015/07/16 职场文书
Python使用openpyxl批量处理数据
2021/06/23 Python