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的特殊设置
Oct 09 PHP
IIS环境下快速安装、配置和调试PHP5.2.0
Dec 17 PHP
php获取用户IPv4或IPv6地址的代码
Nov 15 PHP
解析CI的AJAX分页 另类实现方法
Jun 27 PHP
基于preg_match_all采集后数据处理的一点心得笔记(编码转换和正则匹配)
Jan 31 PHP
php实现给图片加灰色半透明效果的方法
Oct 20 PHP
PHP工程师VIM配置分享
Dec 15 PHP
linux平台编译安装PHP7并安装Redis扩展与Swoole扩展实例教程
Sep 30 PHP
彻底搞懂PHP 变量结构体
Oct 11 PHP
PHP实现的mysql读写分离操作示例
May 22 PHP
Laravel5.3+框架定义API路径取消CSRF保护方法详解
Apr 06 PHP
thinkphp 获取控制器及控制器方法
Apr 16 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/03/25 PHP
PHP实现的DES加密解密类定义与用法示例
2020/11/02 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
jQuery下通过replace字符串替换实现大小图片切换
2012/05/22 Javascript
javascript中的事件代理初探
2014/03/08 Javascript
jquery $.trim()方法使用介绍
2014/05/21 Javascript
JS实现对中文字符串进行utf-8的Base64编码的方法(使其与Java编码相同)
2016/06/21 Javascript
Node.js Streams文件读写操作详解
2016/07/04 Javascript
javascript中Date对象的使用总结
2016/11/21 Javascript
移动端利用H5实现压缩图片上传功能
2017/03/29 Javascript
微信小程序开发之麦克风动画 帧动画 放大 淡出
2017/04/18 Javascript
Angular实现响应式表单
2017/08/04 Javascript
vue实现手机号码抽奖上下滚动动画示例
2017/10/18 Javascript
微信小程序图片选择区域裁剪实现方法
2017/12/02 Javascript
Angular2.0实现modal对话框的方法示例
2018/02/18 Javascript
vue多级复杂列表展开/折叠及全选/分组全选实现
2018/11/05 Javascript
ES6 更易于继承的类语法的使用
2019/02/11 Javascript
vue多页面项目中路由使用history模式的方法
2019/09/23 Javascript
全局安装 Vue cli3 和 继续使用 Vue-cli2.x操作
2020/09/08 Javascript
使用vue编写h5公众号跳转小程序的实现代码
2020/11/27 Vue.js
[01:16]2014DOTA2 TI专访C9战队EE:中国五强中会占三席
2014/07/10 DOTA
比较详细Python正则表达式操作指南(re使用)
2008/09/06 Python
python开启多个子进程并行运行的方法
2015/04/18 Python
python实现JAVA源代码从ANSI到UTF-8的批量转换方法
2015/08/10 Python
深度辨析Python的eval()与exec()的方法
2019/03/26 Python
在Qt中正确的设置窗体的背景图片的几种方法总结
2019/06/19 Python
TensorFLow 变量命名空间实例
2020/02/11 Python
Python 3.10 的首个 PEP 诞生,内置类型 zip() 迎来新特性(推荐)
2020/07/03 Python
利用python查看数组中的所有元素是否相同
2021/01/08 Python
英国最大的老式糖果店:A Quarter Of
2017/04/08 全球购物
世界上最大的在线汽车租赁预订平台:Rentalcars.com(支持中文)
2018/10/12 全球购物
Myprotein瑞士官方网站:运动营养和健身网上商店
2019/09/25 全球购物
波兰在线杂货店:Polski Koszyk
2019/11/02 全球购物
文化产业实施方案
2014/06/07 职场文书
检讨书格式
2015/01/23 职场文书
导游词之蜀山胜景瓦屋山
2019/11/29 职场文书