设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
快捷导航
登录
注册
论坛首页
BBS
建站模版
微站设计
虚拟主机
企业邮箱
博客日志
Blog
搜索
搜索
搜索
热搜
长春
优惠
活动
做网站
本版
帖子
用户
本版
帖子
用户
请
登录
后使用快捷导航
没有帐号?
立即注册
道具
勋章
任务
留言板
设置
我的收藏
退出
时时商务社区
»
论坛首页
›
建站资源
›
建站技术
›
php array_merge函数使用需要注意的一个问题 ...
返回列表
查看:
228
|
回复:
0
php array_merge函数使用需要注意的一个问题
[复制链接]
网络通达
当前离线
积分
7881
2647
主题
2647
帖子
7881
积分
论坛元老
论坛元老, 积分 7881, 距离下一级还需 9992118 积分
论坛元老, 积分 7881, 距离下一级还需 9992118 积分
积分
7881
发消息
电梯直达
楼主
发表于 2018-2-14 05:47:28
|
只看该作者
|
倒序浏览
|
阅读模式
使用php语言的array_merge函数时,以为相同的键名会覆盖,但是请看如下代码:
[U]复制代码[/U] 代码如下:
$a1 = array(1=>'abc', 3=>10);
$a2 = array(1=>'efg', 3=>20);
print_r(array_merge($a1, $a2));
会输出什么?我们预想中的是:
[U]复制代码[/U] 代码如下:
Array
(
[1] => efg
[3] => 20
)
实际上输出的是:
[U]复制代码[/U] 代码如下:
Array
(
[0] => abc
[1] => 10
[2] => efg
[3] => 20
)
不但没有被覆盖,而且数字键被重新连续索引了。
起初以为这个是bug,后来翻了php手册 http://php.net/manual/zh/function.array-merge.php
「如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。
如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。」
您可能感兴趣的文章:
php array_slice函数的使用以及参数详解
PHP合并数组+与array_merge的区别分析
php array_map()数组函数使用说明
PHP对象转换为数组函数(递归方法)
php之XML转数组函数的详解
php数组合并array_merge()函数使用注意事项
PHP常用数组函数介绍
使用array_map简单搞定PHP删除文件、删除目录
PHP中array_slice函数用法实例详解
php通过array_merge()函数合并两个数组的方法
php 利用array_slice函数获取随机数组或前几条数据
php数组函数array_key_exists()小结
PHP查询并删除数据库多列重复数据的方法(利用数组函数实现)
PHP常见数组函数用法小结
分享到:
QQ好友和群
QQ空间
腾讯微博
腾讯朋友
收藏
0
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
用户反馈
客户端