欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

array_push 效率测试

程序员文章站 2022-06-12 08:54:31
...
在php中数组赋值的时候用array[]这种方法效率会较高于array_push(),于是乎各种缘由就有了下面的测试
测试代码:
1 2 /**
3 *数组性能测试
4 *for循环有性能影响所以没有用
5 *测试是更改$count参数(从10~100000 整取递增)和调用方法手动刷新,记录时间为平均大概时间
6 **/
7
8 $count = 10;
9
10 arrayTest01($count);
11
12 function arrayTest01($count){
13 $arr = array();
14 $time = microtime(true);
15 for($i = 0; $i 16 $array[] = $i;
17 }
18 echo (microtime(true) - $time);
19 }
20
21 function arrayTest02($count){
22 $arr = array();
23 $time = microtime(true);
24 for($i = 0; $i 25 array_push($arr, $i);
26 }
27 echo (microtime(true) - $time);
28 }
29
30 ?>

效率大概是array[]快将近一倍,测试环境是ubuntu 11 和 windows 7

windows php-5.2.17/ Apache2.2
times($count) 10 100 1000
10000   100000   1000000

array[] 2.31E-05 0.000104
0.000867 0.008417 0.043666
0.288323
array_push 2.79E-05
0.000181 0.001614 0.014447
0.055875 0.491052
ubuntu11.04 PHP 5.3.6/apache2.2
array[] 1.91E-05 7.70E-05
0.000726 0.007669 0.040492 报错

array_push 2.50E-05
1.26E-04 0.001149 0.013714
0.056978 报错

这是官方网站上的说辞
Note: 如果用 array_push() 来给数组增加一个单元,还不如用 $array[] = ,因为这样没有调用函数的额外负担。
官网链接:
http://cn.php.net/array_push


摘自 静以修心