程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> array_push 效率測試

array_push 效率測試

編輯:關於PHP編程

在php中數組賦值的時候用array[]這種方法效率會較高於array_push(),於是乎各種緣由就有了下面的測試
測試代碼:
 1 <?php
 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 < $count; $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 < $count; $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


 

摘自  靜以修心 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved