PHP尽量不要在循环体中使用 array_merge()

PHP在线

共 626字,需浏览 2分钟

 ·

2022-08-29 11:53

目录  隐藏 

1 方式一(循环中使用array_merge)

2 方式二(循环后使用array_merg合并)

3 速度对比

方式一(循环中使用array_merge)

  1. function eachOne(int $times): array

  2. {

  3. $a = [];

  4. $b = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];

  5. for ($i = 0; $i < $times; $i++) {

  6. $a = array_merge($a, $b);

  7. }

  8. return $a;

  9. }

方式二(循环后使用array_merg合并)

  1. function eachTwo(int $times): array

  2. {

  3. $a = [[]];

  4. $b = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];

  5. for ($i = 0; $i < $times; $i++) {

  6. $a[] = $b;

  7. }

  8. return array_merge(...$a);

  9. }

速度对比

  1. eachOne(10000);

  2. eachTwo(10000);

通过实验对比,方式一耗时7秒,而方式二仅0.002秒。

试验方法:https://blog.csdn.net/weixin_33712881/article/details/91380140


浏览 35
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报