php 通过array_merge()和array+array合并数组的区别和效率比较
众所周知合并两个数组可以使用array_merge(),这是php提供的一个函数。另外还可以通过 array 的方式来合并数组,这两种直接有什么区别,哪一个的效率更高呢?
array_merge()
格式: array array_merge ( array … ] )
注意(区别):
- 如果合并的数组使用关联索引,数组中有相同的键名,则该键名后面的值将覆盖前一个值。
- 如果合并的数组使用数字索引,数组中有相同的键名, 后面的值将不会覆盖原来的值,而是附加到后面。
- 如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。
$array + $array
注意(区别):
- 如果合并的数组中有相同的键名,最先出现的值作为最终结果返回(和array_merge关联索引的情况正好相反)
循环10万次的用时
$arr1 = [0,1,2,3];
$arr2 = ['0'=>0,1,2,'5'=>3];var_dump(array_merge($arr1,$arr2));echo '<br/>';var_dump($arr1+$arr2);echo '测试array_merge()和+的效率';
echo '<br/>';$execTime = 100000;
$time = time();for ($i = 0; $i < $execTime; $i++) {array_merge($arr1,$arr2);
}echo '用时:' .(time() - $time);
echo '<br/>';$time = time();for ($i = 0; $i < $execTime; $i++) {$arr1+$arr2;
}echo '用时:' .(time() - $time);
echo '<br/>';
输出结果:
array_merge() : 6s
$array + $array : 0s
总结
array_merge() 和 + 都可以起到合并数组的作用,但是它们处理相同键的方式不同,array_merge() 返回的是后面的键的值, + 返回的是第一个键的值。+ 的效率要高于array_merge();
转载于:https://www.cnblogs.com/-mrl/p/9225840.html
php 通过array_merge()和array+array合并数组的区别和效率比较相关推荐
- js中push和concat合并数组的区别
关键点把握 push方法: 改变了原数组的结构 将要合并的对象整体加入 concat方法: 不改变原数组的结构,新生成的数组必须用一个新变量来接收 将要合并的对象逐一加入 案例演示 案例一: 使用pu ...
- php 合并数组 +和array_merge的区别
主要区别是两个或者多个数组中如果出现相同键名,键名分为字符串或者数字,需要注意 1)键名为数字时,array_merge()不会覆盖掉原来的值,但+合并数组则会把最先出现的值作为最终结果返回,而把后面 ...
- PHP合并数组array_merge函数运算符加号与的区别
"+"运算符和array_merge():array array_merge ( array array1, array array2 [, array ...] ) 都可以合并多 ...
- array_merge与array+array的区别
2019独角兽企业重金招聘Python工程师标准>>> 两个的区别是: 1.数组键名为数字键名时,要合并的两个数组中有同名数字KEY的时候,使用"+"合并数组则会 ...
- PHP中array_merge函数与array+array的区别
在PHP中可以使用array_merge函数和两个数组相加array+array的方式进行数组合并,但两者效果并不相同,下面为大家介绍两者具体的使用区别. 区别如下: 1当下标为数值时,array_m ...
- PHP array_flip() array_merge() array+array的使用总结
array_flip(array); //传递一个数组参数,对该数组的键.值进行翻转 例如: $a = array('a','b','c' ); print_r(array_flip($a));//输 ...
- php对数组进行合成的函数,php合并数组函数array_merge()
array_merge()函数在php中是对数组进行合并的,可以把多个数组合成一个数组,并且不改变原数组的值了,但今天我在使用array_merge合并数组时碰到几个小细节上的问题,下面我举例子给各位 ...
- php中合并数组的函数是,PHP合并数组函数array_merge用法分析
本文实例讲述了PHP合并数组函数array_merge用法.分享给大家供大家参考,具体如下: 合并数组是把一个数组追加到另一个数组中,主要应用array_merge()函数实现 语法如下: array ...
- php合并数组,不使用函数array_merge()
php合并数组函数: array_merge() 函数把一个或多个数组合并为一个数组. 提示: 您可以向函数输入一个或者多个数组. 注释: 如果两个或更多个数组元素有相同的键名,则最后的元素会覆盖其他 ...
最新文章
- 干货回顾丨深度学习应用大盘点
- angular五大服务顺序_建议收藏 | 一篇文章告诉你工种的进场顺序
- why new AET extension field creation will lead to session restart
- steer clear of用法
- 采集天眼查的10个经典方法
- Java实现局域网聊天软件分享
- JavaScript之排他思想详述
- 小米 安装Google play
- 软件测试缺陷指标,如何对缺陷进行分析,都分析哪些指标?
- Linux下github的下载和使用
- PP体育APP产品体验报告
- 中国魔笛痛改前非做好准备 国足不能失去传奇大师
- 有什么免费的视频格式转换工具推荐?
- 去除前后空白字符(包含半角空格,全角空格)
- KNN实现手写数字识别(Python-OpenCV)
- 2018年最新Paypal提现方法 通过payoneer节省手续费
- 使用 Flutter 快速实现请假与写周报应用
- 数值分析-杜利特尔分解法C语言代码
- 为了上网,我黑了酒店上网管理系统并脱下酒店/网管的“内裤”
- 什么将成为云计算的基础设施
热门文章
- java 俄罗斯方块窗口_[代码全屏查看]-java 俄罗斯方块
- linux 网络劫持编程,Linux下实现劫持系统调用的总结(上)--代码及实现
- 一个div 上下两行_web前端工程师如何理解 CSS 布局和块级格式化上下文
- div背景透明_为什么css3实现background-image和半透明边框这么麻烦
- 强制关机对电脑的影响_笔记本电脑需要每天关机吗?长期开机对电脑有影响么?...
- ENSP配置 实例八 三层交换机DHCP配置加VLAN划分实验
- matlab搭建的应用层架构逻辑,软件设计的三层架构
- 人工计算机的相关信息,第三届计算机信息科学与人工智能国际学术会议(CISAI 2020)...
- yii 引用php文件,Yii中引出php文件及插件
- Pycharm 项目运行的多种技巧