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(1)
Oct 09 PHP
配置最新的PHP加MYSQL服务器
Oct 09 PHP
解析wamp5下虚拟机配置文档
Jun 27 PHP
PHP验证码函数代码(简单实用)
Sep 29 PHP
CodeIgniter框架URL路由总结
Sep 03 PHP
php网页病毒清除类
Dec 08 PHP
php计算函数执行时间的方法
Mar 20 PHP
php自定义错误处理用法实例
Mar 20 PHP
基于OpenCart 开发支付宝,财付通,微信支付参数错误问题
Oct 01 PHP
php邮箱地址正则表达式验证
Nov 13 PHP
ThinkPHP实现图片上传操作的方法详解
May 08 PHP
php使用curl_init()和curl_multi_init()多线程的速度比较详解
Aug 15 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获取数组中键值最大数组项的索引值
2015/03/17 PHP
PHP 表单提交及处理表单数据详解及实例
2016/12/27 PHP
PHP-FPM的配置与优化讲解
2019/03/15 PHP
javascript oop开发滑动(slide)菜单控件
2010/08/25 Javascript
js图片自动切换效果处理代码
2013/05/07 Javascript
JS 修改URL参数(实现代码)
2013/07/08 Javascript
JS获取农历日期具体实例
2013/11/14 Javascript
js+csss实现的一个带复选框的下拉框
2014/09/29 Javascript
javascript获取当前鼠标坐标的方法
2015/01/10 Javascript
javascript算法题:求任意一个1-9位不重复的N位数在该组合中的大小排列序号
2015/04/01 Javascript
js实现String.Fomat的实例代码
2016/09/02 Javascript
Vue实例简单方法介绍
2017/01/20 Javascript
nodejs使用express创建一个简单web应用
2017/03/31 NodeJs
深入探究node之Transform
2017/07/20 Javascript
webpack实现热更新(实施同步刷新)
2017/07/28 Javascript
JS的函数调用栈stack size的计算方法
2018/06/24 Javascript
Angular使用cli生成自定义文件、组件的方法
2018/09/04 Javascript
js中复选框的取值及赋值示例详解
2020/10/18 Javascript
详解React路由传参方法汇总记录
2020/11/29 Javascript
python使用电子邮件模块smtplib的方法
2016/08/28 Python
Python实现八皇后问题示例代码
2018/12/09 Python
十分钟搞定pandas(入门教程)
2019/06/21 Python
python GUI库图形界面开发之PyQt5单选按钮控件QRadioButton详细使用方法与实例
2020/02/28 Python
基于python实现监听Rabbitmq系统日志代码示例
2020/11/28 Python
python实现学生信息管理系统源码
2021/02/22 Python
个人实用的自我评价范文
2013/11/23 职场文书
2014年清明节网上祭英烈寄语
2014/04/09 职场文书
群众路线问题查摆对照检查材料
2014/10/04 职场文书
小学工作总结2015
2015/05/04 职场文书
二十年同学聚会致辞
2015/07/28 职场文书
大学校园招聘会感想
2015/08/10 职场文书
原来闭幕词是这样写的呀!
2019/07/01 职场文书
2019个人工作自我评价范文(3篇)
2019/09/19 职场文书
详解MySQL 用户权限管理
2021/04/20 MySQL
Python基础之条件语句详解
2021/06/16 Python
【海涛dota】偶遇拉娜娅 质量局德鲁伊第一视角解说
2022/04/01 DOTA