众所周知合并两个数组可以使用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合并数组的区别和效率比较相关推荐

  1. js中push和concat合并数组的区别

    关键点把握 push方法: 改变了原数组的结构 将要合并的对象整体加入 concat方法: 不改变原数组的结构,新生成的数组必须用一个新变量来接收 将要合并的对象逐一加入 案例演示 案例一: 使用pu ...

  2. php 合并数组 +和array_merge的区别

    主要区别是两个或者多个数组中如果出现相同键名,键名分为字符串或者数字,需要注意 1)键名为数字时,array_merge()不会覆盖掉原来的值,但+合并数组则会把最先出现的值作为最终结果返回,而把后面 ...

  3. PHP合并数组array_merge函数运算符加号与的区别

    "+"运算符和array_merge():array array_merge ( array array1, array array2 [, array ...] ) 都可以合并多 ...

  4. array_merge与array+array的区别

    2019独角兽企业重金招聘Python工程师标准>>> 两个的区别是: 1.数组键名为数字键名时,要合并的两个数组中有同名数字KEY的时候,使用"+"合并数组则会 ...

  5. PHP中array_merge函数与array+array的区别

    在PHP中可以使用array_merge函数和两个数组相加array+array的方式进行数组合并,但两者效果并不相同,下面为大家介绍两者具体的使用区别. 区别如下: 1当下标为数值时,array_m ...

  6. PHP array_flip() array_merge() array+array的使用总结

    array_flip(array); //传递一个数组参数,对该数组的键.值进行翻转 例如: $a = array('a','b','c' ); print_r(array_flip($a));//输 ...

  7. php对数组进行合成的函数,php合并数组函数array_merge()

    array_merge()函数在php中是对数组进行合并的,可以把多个数组合成一个数组,并且不改变原数组的值了,但今天我在使用array_merge合并数组时碰到几个小细节上的问题,下面我举例子给各位 ...

  8. php中合并数组的函数是,PHP合并数组函数array_merge用法分析

    本文实例讲述了PHP合并数组函数array_merge用法.分享给大家供大家参考,具体如下: 合并数组是把一个数组追加到另一个数组中,主要应用array_merge()函数实现 语法如下: array ...

  9. php合并数组,不使用函数array_merge()

    php合并数组函数: array_merge() 函数把一个或多个数组合并为一个数组. 提示: 您可以向函数输入一个或者多个数组. 注释: 如果两个或更多个数组元素有相同的键名,则最后的元素会覆盖其他 ...

最新文章

  1. 干货回顾丨深度学习应用大盘点
  2. angular五大服务顺序_建议收藏 | 一篇文章告诉你工种的进场顺序
  3. why new AET extension field creation will lead to session restart
  4. steer clear of用法
  5. 采集天眼查的10个经典方法
  6. Java实现局域网聊天软件分享
  7. JavaScript之排他思想详述
  8. 小米 安装Google play
  9. 软件测试缺陷指标,如何对缺陷进行分析,都分析哪些指标?
  10. Linux下github的下载和使用
  11. PP体育APP产品体验报告
  12. 中国魔笛痛改前非做好准备 国足不能失去传奇大师
  13. 有什么免费的视频格式转换工具推荐?
  14. 去除前后空白字符(包含半角空格,全角空格)
  15. KNN实现手写数字识别(Python-OpenCV)
  16. 2018年最新Paypal提现方法 通过payoneer节省手续费
  17. 使用 Flutter 快速实现请假与写周报应用
  18. 数值分析-杜利特尔分解法C语言代码
  19. 为了上网,我黑了酒店上网管理系统并脱下酒店/网管的“内裤”
  20. 什么将成为云计算的基础设施

热门文章

  1. java 俄罗斯方块窗口_[代码全屏查看]-java 俄罗斯方块
  2. linux 网络劫持编程,Linux下实现劫持系统调用的总结(上)--代码及实现
  3. 一个div 上下两行_web前端工程师如何理解 CSS 布局和块级格式化上下文
  4. div背景透明_为什么css3实现background-image和半透明边框这么麻烦
  5. 强制关机对电脑的影响_笔记本电脑需要每天关机吗?长期开机对电脑有影响么?...
  6. ENSP配置 实例八 三层交换机DHCP配置加VLAN划分实验
  7. matlab搭建的应用层架构逻辑,软件设计的三层架构
  8. 人工计算机的相关信息,第三届计算机信息科学与人工智能国际学术会议(CISAI 2020)...
  9. yii 引用php文件,Yii中引出php文件及插件
  10. Pycharm 项目运行的多种技巧