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 相关文章推荐
第九节--绑定
Nov 16 PHP
PHP 防恶意刷新实现代码
May 16 PHP
PHP中文URL编解码(urlencode()rawurlencode()
Jul 03 PHP
深入理解PHP原理之异常机制
Aug 21 PHP
PHP中图片等比缩放的实例
Mar 24 PHP
PHP封装分页函数实现文本分页和数字分页
Oct 23 PHP
PHP下载远程文件到本地存储的方法
Mar 24 PHP
如何使用纯PHP实现定时器任务(Timer)
Jul 31 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
Aug 29 PHP
PHP的RSA加密解密方法以及开发接口使用
Feb 11 PHP
PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能
May 31 PHP
laravel-admin解决表单select联动时,编辑默认没选上的问题
Sep 30 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
模仿OSO的论坛(四)
2006/10/09 PHP
phpMyAdmin下载、安装和使用入门教程
2007/05/31 PHP
PHP处理SQL脚本文件导入到MySQL的代码实例
2014/03/17 PHP
php经典算法集锦
2015/11/14 PHP
PHP合并数组的2种方法小结
2016/11/24 PHP
?牟┛途W扣了一??效果出?? target=
2007/05/27 Javascript
document.onreadystatechange事件的用法分析
2009/10/17 Javascript
对 lightbox JS 图片控件进行了一下改造, 使其他支持复杂的图片说明
2010/03/20 Javascript
通过js来制作复选框的全选和不选效果
2014/05/22 Javascript
JavaScript实现点击单选按钮改变输入框中文本域内容的方法
2015/08/12 Javascript
Bootstrap Table服务器分页与在线编辑应用总结
2016/08/08 Javascript
Javascript 获取鼠标当前的位置实现方法
2016/10/27 Javascript
教你一步步用jQyery实现轮播器
2016/12/18 Javascript
如何解决jQuery EasyUI 已打开Tab重新加载问题
2016/12/19 Javascript
Jqprint实现页面打印
2017/01/06 Javascript
bootstrap table操作技巧分享
2017/02/15 Javascript
安装vue-cli报错 -4058 的解决方法
2017/10/19 Javascript
探索Vue高阶组件的使用
2018/01/08 Javascript
除Console.log()外更多的Javascript调试命令
2018/01/24 Javascript
解决jquery有正确返回值但不执行success函数的问题
2018/08/20 jQuery
vue template中slot-scope/scope的使用方法
2018/09/06 Javascript
基于Vue 服务端Cookies删除的问题
2018/09/21 Javascript
Python实现的简单万年历例子分享
2014/04/25 Python
Python编程实现使用线性回归预测数据
2017/12/07 Python
Sanic框架安装与简单入门示例
2018/07/16 Python
pandas DataFrame 行列索引及值的获取的方法
2019/07/02 Python
python如何安装下载后的模块
2020/07/03 Python
python爬虫爬取图片的简单代码
2021/01/18 Python
几款主流好用的富文本编辑器(所见即所得常用编辑器)介绍
2021/03/17 Javascript
波兰家居饰品和厨房配件网上商店:Maleomi
2020/12/15 全球购物
《一株紫丁香》教学反思
2014/02/19 职场文书
广播体操比赛口号
2014/06/10 职场文书
事业单位人员的自我评价范文
2014/09/21 职场文书
铅球加油稿100字
2014/09/26 职场文书
工商局个人工作总结
2015/03/03 职场文书
Windows server 2012 NTP时间同步的实现
2022/06/25 Servers