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 相关文章推荐
用Socket发送电子邮件
Oct 09 PHP
实现树状结构的两种方法
Oct 09 PHP
第九节--绑定
Nov 16 PHP
傻瓜化配置PHP环境――Appserv
Dec 13 PHP
PHP的单引号和双引号 字符串效率
May 27 PHP
PHP 处理图片的类实现代码
Oct 23 PHP
php利用iframe实现无刷新文件上传功能的代码
Sep 29 PHP
写出高质量的PHP程序
Feb 04 PHP
php中注册器模式类用法实例分析
Nov 03 PHP
php数组函数array_key_exists()小结
Dec 10 PHP
PHP入门教程之数组用法汇总(创建,删除,遍历,排序等)
Sep 11 PHP
PHP设计模式(七)组合模式Composite实例详解【结构型】
May 02 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+redis消息队列实现抢购功能
2018/02/08 PHP
Yii框架学习笔记之session与cookie简单操作示例
2019/04/30 PHP
Laravel5.1框架注册中间件的三种场景详解
2019/07/09 PHP
JSON扫盲帖 JSON.as类教程
2009/02/16 Javascript
JavaScript 继承详解(四)
2009/07/13 Javascript
Javascript类库的顶层对象名用户体验分析
2010/10/24 Javascript
jQuery学习笔记 更改jQuery对象
2012/09/19 Javascript
js indexOf()定义和用法
2012/10/21 Javascript
jQuery的text()方法用法分析
2014/12/20 Javascript
jquery ui resize 中border-box的bug修正
2015/04/26 Javascript
跟我学习javascript的垃圾回收机制与内存管理
2015/11/23 Javascript
onclick和onblur冲突问题的快速解决方法
2016/04/28 Javascript
jQuery中deferred对象使用方法详解
2016/07/14 Javascript
详解JavaScript跨域总结与解决办法
2016/10/31 Javascript
javascript实现的图片预览功能
2017/03/25 Javascript
微信小程序 地图map实例详解
2017/06/07 Javascript
值得收藏的vuejs安装教程
2017/11/21 Javascript
p5.js入门教程和基本形状绘制
2018/03/15 Javascript
JS使用遮罩实现点击某区域以外时弹窗的弹出与关闭功能示例
2018/07/31 Javascript
[02:16]卖萌的僵尸 DOTA2神话信使飞僵小宝来袭
2014/03/24 DOTA
Python聚类算法之凝聚层次聚类实例分析
2015/11/20 Python
用python写的一个wordpress的采集程序
2016/02/27 Python
python中requests使用代理proxies方法介绍
2017/10/25 Python
Python实现多进程共享数据的方法分析
2017/12/04 Python
Python并发编程协程(Coroutine)之Gevent详解
2017/12/27 Python
python 通过 socket 发送文件的实例代码
2018/08/14 Python
PyQt5 实现给窗口设置背景图片的方法
2019/06/13 Python
python 缺失值处理的方法(Imputation)
2019/07/02 Python
Python实现socket非阻塞通讯功能示例
2019/11/06 Python
英国最全面的橄榄球联盟门票网站:Live Rugby Tickets
2018/10/06 全球购物
Kathmandu新西兰官网:新西兰户外运动品牌
2019/07/27 全球购物
美国家居装饰购物网站:Amanda Lindroth
2020/03/25 全球购物
计算机通信专业推荐信
2014/02/22 职场文书
大一新生期末自我评价
2014/09/12 职场文书
培训学校2015年度工作总结
2015/07/20 职场文书
详解非极大值抑制算法之Python实现
2021/06/28 Python