php array push 和array_merge 效率谁高,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 ‘
‘;

var_dump($arr1+$arr2);

echo ‘测试array_merge()和+的效率‘;

echo ‘
‘;

$execTime = 100000;

$time = time();

for ($i = 0; $i < $execTime; $i++) {

array_merge($arr1,$arr2);

}

echo ‘用时:‘ .(time() - $time);

echo ‘
‘;

$time = time();

for ($i = 0; $i < $execTime; $i++) {

$arr1+$arr2;

}

echo ‘用时:‘ .(time() - $time);

echo ‘
‘;

输出结果:

array_merge() : 6s

$array + $array : 0s

总结

array_merge() 和 + 都可以起到合并数组的作用,但是它们处理相同键的方式不同,array_merge() 返回的是后面的键的值, + 返回的是第一个键的值。+ 的效率要高于array_merge();

原文:https://www.cnblogs.com/-mrl/p/9225840.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值