<?PHP $t1=microtime(true); for( $i=1;$i<=1000;$i++){ echo $i."*"; } echo "<br>"; $t2=microtime(true); echo $t1."<br>"; echo $t2."<br>"; echo "消耗時間:".round($t2-$t1,3);
輸出:
1543284899.817 1543284899.818 消耗時間:0.001
microtime() 函數返回當前 Unix 時間戳和微秒數。
如果帶個 true 參數, 返回的將是一個浮點類型
round() 取出小數點后 3 位
=======================================================================
如何計算一段php程序代碼的執行消耗時間?
對於系統時間,可能很多同學對php的time()函數並不陌生,可惜time()函數只返回自從 Unix 紀元(格林威治時間 1970 年 1 月 1 日 00:00:00)到當前時間的秒數.
沒錯,是秒.我們一段php程序代碼執行耗時可能並不超過一秒,所以time()並不適用.php提供了一個更為精確的時間函數microtime():
microtime — 返回當前 Unix 時間戳和微秒數.
格式: mixed microtime ([ bool $get_as_float ] )
函數以 “msec sec” 的格式返回一個字符串,sec 是自 Unix 紀元(0:00:00 January 1, 1970 GMT)起到現在的秒數,msec 是微秒部分。
如果輸入參數為true,microtime() 將返回一個浮點數。
例如:echo microtime(); 會返回:0.08845800 1376983061。
echo microtime(true);則返回:1376983061.08845800
在dedecms和康盛的UCenter代碼中使用了microtime()然后字符串分隔
在thinkphp3.2框架代碼中使用了microtime(true);
好了,然后的事情很簡單,為了免於對返回的結果做復雜的字符串轉換,我們設定microtime()輸入參數為true,使得其返回的結果為浮點數。
然后在程序開始和結束分別計算一次,兩次結果相減便是程序執行的時間。(PHP手冊里有一句話:永遠不要比較兩個浮點數是否相等。 )
最后使用number_format格式化浮點數。此方法僅供測試,結果不一定精確。
原文:https://blog.csdn.net/eflyq/article/details/19130141