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同时支持GIF、png、JPEG
Oct 09 PHP
Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法
Dec 06 PHP
php session 检测和注销
Mar 16 PHP
PHP 防注入函数(格式化数据)
Aug 08 PHP
一个简洁的PHP可逆加密函数(分享)
Jun 06 PHP
微信扫描二维码登录网站代码示例
Dec 30 PHP
php 把数字转换成汉字的代码
Jul 21 PHP
PHP数据库表操作的封装类及用法实例详解
Jul 12 PHP
php  PATH_SEPARATOR判断当前服务器系统类型实例
Oct 28 PHP
PHP搭建大文件切割分块上传功能示例
Jan 04 PHP
php 基础函数
Feb 10 PHP
tp5 实现列表数据根据状态排序
Oct 18 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
地摊中国 - 珍藏老照片
2020/08/18 杂记
一道关于php变量引用的面试题
2010/08/08 PHP
php 抽象类的简单应用
2011/09/06 PHP
PHP写的求多项式导数的函数代码
2012/07/04 PHP
php把数组值转换成键的方法
2015/07/13 PHP
javascript getElementsByClassName 和js取地址栏参数
2010/01/02 Javascript
JS 对象介绍
2010/01/20 Javascript
javascript对象之内置对象Math使用方法
2010/04/16 Javascript
javascript之通用简单的table选项卡实现(二)
2010/05/09 Javascript
JavaScript和CSS交互的方法汇总
2014/12/02 Javascript
js实现当前输入框高亮显示的方法
2015/08/19 Javascript
Bootstrap每天必学之js插件
2015/11/30 Javascript
js判断登陆用户名及密码是否为空的简单实例
2016/05/16 Javascript
正则 js分转元带千分符号详解
2017/03/08 Javascript
JS简单封装的图片无缝滚动效果示例【测试可用】
2017/03/22 Javascript
微信小程序 页面滑动事件的实例详解
2017/10/12 Javascript
深入理解JavaScript和TypeScript中的class
2018/04/22 Javascript
electron中使用bootstrap的示例代码
2018/11/06 Javascript
jQuery实现左右两个列表框的内容相互移动功能示例
2019/01/27 jQuery
原生js+canvas实现贪吃蛇效果
2020/08/02 Javascript
仅用500行Python代码实现一个英文解析器的教程
2015/04/02 Python
微信跳一跳游戏python脚本
2020/04/01 Python
Python中的二维数组实例(list与numpy.array)
2018/04/13 Python
Python-while 计算100以内奇数和的方法
2019/06/11 Python
python 杀死自身进程的实现方法
2019/07/01 Python
Django MEDIA的配置及用法详解
2019/07/25 Python
Python unittest单元测试openpyxl实现过程解析
2020/05/27 Python
音乐节策划方案
2014/06/09 职场文书
药店采购员岗位职责
2014/09/30 职场文书
普通党员群众路线教育实践活动心得体会
2014/11/04 职场文书
2014年志愿者工作总结
2014/11/20 职场文书
六年级语文下册教学计划
2015/01/22 职场文书
绵山导游词
2015/02/05 职场文书
求职信内容一般写什么?
2015/03/20 职场文书
如何用JS实现网页瀑布流布局
2021/04/24 Javascript
Python爬虫 简单介绍一下Xpath及使用
2022/04/26 Python