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 相关文章推荐
基于mysql的bbs设计(四)
Oct 09 PHP
PHP实现多服务器session共享之NFS共享的方法
Mar 16 PHP
php 遍历数据表数据并列表横向排列的代码
Sep 05 PHP
php的日期处理函数及uchome的function_coomon中日期处理函数的研究
Jan 12 PHP
PHP反射使用实例和PHP反射API的中文说明
Jul 02 PHP
PHP信号量基本用法实例详解
Feb 12 PHP
php基于dom实现读取图书xml格式数据的方法
Feb 03 PHP
Redis在Laravel项目中的应用实例详解
Aug 11 PHP
PHP对称加密算法(DES/AES)类的实现代码
Nov 14 PHP
PHPUnit测试私有属性和方法功能示例
Jun 12 PHP
使用PHP开发留言板功能
Nov 19 PHP
PHP代码覆盖率统计详解
Jul 22 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 魔术函数使用说明
2010/02/21 PHP
深入PHP运行环境配置的详解
2013/06/04 PHP
php防止恶意刷新与刷票的方法
2014/11/21 PHP
Yii清理缓存的方法
2016/01/06 PHP
php实现的简单中文验证码功能示例
2017/01/03 PHP
PHP基于GD库实现的生成图片缩略图函数示例
2017/07/05 PHP
Yii框架常见缓存应用实例小结
2019/09/09 PHP
PHP isset()及empty()用法区别详解
2020/08/29 PHP
JQuery 操作/获取table具体代码
2013/06/13 Javascript
从零开始做一个pagination分页组件
2017/03/15 Javascript
Angular实现一个简单的多选复选框的弹出框指令实例
2017/04/25 Javascript
jquery dataTable 后台加载数据并分页实例代码
2017/06/07 jQuery
JS实现颜色的10进制转化成rgba格式的方法
2017/09/04 Javascript
JavaScript运行原理分析
2018/02/09 Javascript
JS实现图片旋转动画效果封装与使用示例
2018/07/09 Javascript
layDate插件设置开始和结束时间
2018/11/15 Javascript
js常见遍历操作小结
2019/06/06 Javascript
JavaScript的变量声明与声明提前用法实例分析
2019/11/26 Javascript
[01:17:55]VGJ.T vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/20 DOTA
python中zip和unzip数据的方法
2015/05/27 Python
详解 Python中LEGB和闭包及装饰器
2017/08/03 Python
python+matplotlib演示电偶极子实例代码
2018/01/12 Python
谈谈Python中的while循环语句
2019/03/10 Python
浅谈Python大神都是这样处理XML文件的
2019/05/31 Python
PyCharm 2019.3发布增加了新功能一览
2019/12/08 Python
浅谈matplotlib.pyplot与axes的关系
2020/03/06 Python
在matplotlib中改变figure的布局和大小实例
2020/04/23 Python
python调用私有属性的方法总结
2020/07/24 Python
Fairyseason:为个人和批发商提供女装和配件
2017/03/01 全球购物
跑步、骑行和铁人三项的高性能眼镜和服装:ROKA
2018/07/06 全球购物
Made in Design意大利:现代家具、名家灯具和装饰
2020/10/27 全球购物
档案管理员岗位职责
2013/12/01 职场文书
大学生实习自我鉴定
2013/12/11 职场文书
2016党员读书思廉心得体会
2016/01/23 职场文书
小学思品教学反思
2016/02/20 职场文书
win11自动弹出虚拟键盘怎么关闭? Win11关闭虚拟键盘的技巧
2023/01/09 数码科技