php array_merge的坑,数字键名不会覆盖前值
来源:互联网 发布:怎样在淘宝兼职 编辑:程序博客网 时间:2024/06/06 02:06
使用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 array_merge的坑,数字键名不会覆盖前值
- php 操作数组array_merge使用时数组包含数字键名的问题解决方法
- PHP数组关于数字键名的问题
- array+array 与 array_merge() 遇到重复键名的处理
- 获取php数组的键名和值
- array_merge的踩坑
- 获取php数组的键名和对应的值
- 数组非数字键名引号的必要性
- 数组非数字键名引号的必要性
- 数组非数字键名引号的必要性
- 数组非数字键名引号的必要性
- 数组非数字键名引号的必要性
- PHP array_merge() 函数 与 + 的区别
- php合并数组array_merge()与+的区别
- php中的array_merge和“+”的区别
- php 函数合并 array_merge 与 + 的区别
- PHP 数组相加和array_merge的区别
- PHP的array_merge、array_diff与null
- jersey Rest请求URI路径构造
- LoadRunner监控Linux
- Java常用排序算法及性能测试集合
- Android开发大牛博客
- Loadrunner关联_手动关联步骤
- php array_merge的坑,数字键名不会覆盖前值
- Python Exercise #17
- Win7系统ping不懂VMWave中的虚拟机Linux
- spring+Mongodb简单整合
- HTML5 Fullscreen API html5全屏编程API
- Apache调优最详细
- Html5 表单验证和style css验证支持
- fun函数的强大用法-尾递归
- JAVA性能测试与调优案例