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.MVC的模板标签系统(一)
Sep 05 PHP
在PHP上显示JFreechart画的统计图方法
Nov 03 PHP
PHP抓屏函数实现屏幕快照代码分享
Jan 02 PHP
模板引擎smarty工作原理以及使用示例
May 25 PHP
php上传图片客户端和服务器端实现方法
Mar 30 PHP
Linux系统中设置多版本PHP共存配合Nginx服务器使用
Dec 21 PHP
PHP中addslashes()和stripslashes()实现字符串转义和还原用法实例
Jan 07 PHP
详解PHP实现异步调用的4种方法
Mar 14 PHP
PHP实现的文件操作类及文件下载功能示例
Dec 24 PHP
php session的应用详细介绍
Mar 22 PHP
PHP基于ORM方式操作MySQL数据库实例
Jun 21 PHP
基于PHP实现用户登录注册功能的详细教程
Aug 04 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
JS与PHP向函数传递可变参数的区别实例代码
2011/05/18 PHP
PHP排序算法类实例
2015/06/17 PHP
PHP实现读取文件夹及批量重命名文件操作示例
2019/04/15 PHP
firefox下对ajax的onreadystatechange的支持情况分析
2009/12/14 Javascript
jQuery教程 $()包装函数来实现数组元素分页效果
2013/08/13 Javascript
JS调用页面表格导出excel示例代码
2014/03/18 Javascript
js读取csv文件并使用json显示出来
2015/01/09 Javascript
jquery实现简洁文件上传表单样式
2015/11/02 Javascript
基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
2015/12/03 Javascript
jQuery得到多个值只能用取Class ,不能用取ID的方法
2016/12/04 Javascript
详解Vue.js——60分钟组件快速入门(上篇)
2016/12/05 Javascript
微信小程序商城项目之淘宝分类入口(2)
2017/04/17 Javascript
ionic实现底部分享功能
2017/05/11 Javascript
详解用vue编写弹出框组件
2017/07/04 Javascript
vue2.0 elementUI制作面包屑导航栏
2018/02/22 Javascript
vue.js实现点击后动态添加class及删除同级class的实现代码
2018/04/04 Javascript
webpack源码之loader机制详解
2018/04/06 Javascript
vue基于两个计算属性实现选中和全选功能示例
2019/02/08 Javascript
详解如何在Vue项目中导出Excel
2019/04/19 Javascript
vue项目使用.env文件配置全局环境变量的方法
2019/10/24 Javascript
vue实现抽屉弹窗效果
2020/11/15 Javascript
Python中利用sorted()函数排序的简单教程
2015/04/27 Python
python中list列表的高级函数
2016/05/17 Python
Python操作SQLite数据库的方法详解
2017/06/16 Python
使用python实现tcp自动重连
2017/07/02 Python
Python内置函数—vars的具体使用方法
2017/12/04 Python
python下解压缩zip文件并删除文件的实例
2018/04/24 Python
Python多线程中阻塞(join)与锁(Lock)使用误区解析
2018/04/27 Python
python SocketServer源码深入解读
2019/09/17 Python
PyTorch中Tensor的数据统计示例
2020/02/17 Python
西班牙多品牌鞋店连锁店:Krack
2018/11/30 全球购物
体育教育毕业生自荐信
2013/11/21 职场文书
大专生自我鉴定怎么写
2014/09/16 职场文书
深入开展党的群众路线教育实践活动心得体会
2014/11/05 职场文书
CSS3实现模糊背景的三种效果示例
2021/03/30 HTML / CSS
python可视化分析绘制带趋势线的散点图和边缘直方图
2022/06/25 Python