很多時候我們需要計算PHP腳本的執行時間,來獲知腳本的效率等問題。比如有一個一大段的PHP腳本,我們就需要一個分段獲取腳本執行時間的方法。先介紹要用到的函數:
// 計時函數 function runtime($mode = 0) { static $t; if(!$mode) { $t = microtime(); return; } $t1 = microtime(); list($m0,$s0) = split(" ",$t); list($m1,$s1) = split(" ",$t1); return sprintf("%.3f ms",($s1+$m1-$s0-$m0)*1000); } runtime(); //計時開始 /* // 要計算的PHP腳本 $result = 0; for($i = 0; $i < 100; $i++) { $result += $i; } echo $result; */ echo runtime(1); //計時結束並輸出計時結果 runtime(); //計時開始 /* // 要計算的PHP腳本 $result = 0; for($i = 0; $i < 100; $i++) { $result += $i; } echo $result; */ echo runtime(2); //計時結束並輸出計時結果
microtime() 函數返回當前 Unix 時間戳和微秒數。
microtime(get_as_float),參數get_as_float,如果給出了 get_as_float 參數並且其值等價於 TRUE,該函數將返回一個浮點數。
<?php echo(microtime()); ?>
如果調用時不帶可選參數,本函數以 "msec sec" 的格式返回一個字符串,其中 sec 是自 Unix 紀元(0:00:00 January 1, 1970 GMT)起到現在的秒數,msec 是微秒部分。字符串的兩部分都是以秒為單位返回的。
程序輸出:
0.25139300 1138197510
現在就可以實現分段計算PHP腳本執行的時間了。