在php中數(shù)組賦值的時候用array[]這種方法效率會較高于array_push(),于是乎各種緣由就有了下面的測試
測試代碼:
?1
?2???? /**
?3???? *數(shù)組性能測試
?4???? *for循環(huán)有性能影響所以沒有用
?5???? *測試是更改$count參數(shù)(從10~100000 整取遞增)和調(diào)用方法手動刷新,記錄時間為平均大概時間
?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[]快將近一倍,測試環(huán)境是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 報錯
這是官方網(wǎng)站上的說辭
Note: 如果用 array_push() 來給數(shù)組增加一個單元,還不如用 $array[] = ,因為這樣沒有調(diào)用函數(shù)的額外負擔(dān)。
官網(wǎng)鏈接:
http://cn.php.net/array_push
PHP怎么學(xué)習(xí)?PHP怎么入門?PHP在哪學(xué)?PHP怎么學(xué)才快?不用擔(dān)心,這里為大家提供了PHP速學(xué)教程(入門到精通),有需要的小伙伴保存下載就能學(xué)習(xí)啦!
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://m.miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號