本文實例分析了PHP內置的Math函數效率問題。分享給大家供大家參考。具體分析如下:
如題所示,對於沒有做過大規模運算的朋友來說,可能還不知道,PHP的Math函數運算原來是如此之慢的,大家還是麻煩點,手寫多幾句,代碼如下:
復制代碼 代碼如下:$start = microtime(TRUE);
for ($i=0; $i < 200000; $i++){
$s = 0;
for ($j=0; $j < 3; $j++){
$s += ($j+$i+1) * ($j+$i+1);
}
}
echo microtime(TRUE) – $start; // output: 0.33167719841003
再對比下用Math函數的代碼和結果,代碼如下:
復制代碼 代碼如下:$start = microtime(TRUE);
for ($i=0; $i < 200000; $i++){
$s = 0;
for ($j=0; $j < 3; $j++){
$s += pow($j+$i+1, 2);
}
}
echo microtime(TRUE) – $start; // output: 0.87528896331787
看到木有,效率提升100%!!以前還一直都認為是PHP內置的Math快,真是不測不知道,像取絕對值abs,最大值max,最小值min 等效率都不如原生的 if判斷來得快.
總的來說,php運算的確是很慢,真心不適合做大規模的算法運算.希望本文所述對大家的PHP程序設計有所幫助。