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 相关文章推荐
PHP5/ZendEngine2的改进
Oct 09 PHP
Sorting Array Values in PHP(数组排序)
Sep 15 PHP
php利用单例模式实现日志处理类库
Feb 10 PHP
php setcookie函数的参数说明及其用法
Apr 20 PHP
php中call_user_func函数使用注意事项
Nov 21 PHP
PHP使用NuSOAP调用Web服务的方法
Jul 18 PHP
PHP截取IE浏览器并缩小原图的方法
Mar 04 PHP
PHPExcel简单读取excel文件示例
May 26 PHP
Laravel5.5新特性之友好报错以及展示详解
Aug 13 PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
Dec 21 PHP
laravel 使用事件系统统计浏览量的实现
Oct 16 PHP
laravel框架中视图的基本使用方法分析
Nov 23 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数组中删除元素之重新索引的方法
2014/09/16 PHP
Yii入门教程之Yii安装及hello world
2014/11/25 PHP
PHP删除二维数组中相同元素及数组重复值的方法示例
2017/05/05 PHP
JQuery 文本框使用小结
2010/05/22 Javascript
javascript学习笔记(九)javascript中的原型(prototype)及原型链的继承方式
2011/04/12 Javascript
Jquery通过Ajax访问XML数据的小例子
2013/11/18 Javascript
JS比较2个日期间隔的示例代码
2014/04/15 Javascript
简单实现兼容各大浏览器的js复制内容到剪切板
2015/09/09 Javascript
原生javascript实现匀速运动动画效果
2016/02/26 Javascript
JavaScript中实现键值对应的字典与哈希表结构的示例
2016/06/12 Javascript
bootstrap datetimepicker日期插件使用方法
2017/01/13 Javascript
ES6生成器用法实例分析
2017/04/10 Javascript
详解Vue组件之间的数据通信实例
2017/06/17 Javascript
JS运动特效之同时运动实现方法分析
2018/01/24 Javascript
jQuery实现动态加载(按需加载)javascript文件的方法分析
2019/05/31 jQuery
Vue父子传递实例讲解
2020/02/14 Javascript
tracking.js实现前端人脸识别功能
2020/04/16 Javascript
[00:14]护身甲盾
2019/03/06 DOTA
Python基于列表模拟堆栈和队列功能示例
2018/01/05 Python
python调用百度REST API实现语音识别
2018/08/30 Python
Python3爬虫学习之爬虫利器Beautiful Soup用法分析
2018/12/12 Python
python 同时运行多个程序的实例
2019/01/07 Python
在windows下使用python进行串口通讯的方法
2019/07/02 Python
Python操作多维数组输出和矩阵运算示例
2019/11/28 Python
python3用urllib抓取贴吧邮箱和QQ实例
2020/03/10 Python
CSS3实现内凹圆角的实例代码
2017/05/04 HTML / CSS
详解使用postMessage解决iframe跨域通信问题
2019/11/01 HTML / CSS
马来西亚太阳镜、眼镜和隐形眼镜网上商店:Focus Point
2018/12/13 全球购物
农田水利实习自我鉴定
2013/09/19 职场文书
工业学校毕业生自荐书
2014/01/03 职场文书
阿德的梦教学反思
2014/02/06 职场文书
2015应届毕业生求职信范文
2015/03/20 职场文书
2016十一国庆节慰问信
2015/12/01 职场文书
Mysql效率优化定位较低sql的两种方式
2021/05/26 MySQL
解决SpringBoot文件上传临时目录找不到的问题
2021/07/01 Java/Android
SQL Server一个字符串拆分多行显示或者多行数据合并成一个字符串
2022/05/25 SQL Server