來源:http://www.jb51.net/article/49974.htm
首先我們分析一下原理,要想得到程式已耗用時間,那麼可以在程式最開始啟動並執行時候定義一個變數記下目前時間,然後等我們程式運行完之後再記錄一下當前的時間,兩者相差就是該程式運行花費的時間了。
這裡介紹一下 microtime() 這個函數,microtime() 用的不多,但是不能不知道這個函數,它是返回當前 Unix 時間戳記和微秒數。例如:echo microtime(); 會返回:0.08845800 1376983061。所以可以用explode函數將它以空格為標識分割成一個數組,那麼此時的$starttime[0]=0.08845800(微秒數),$starttime[1]=1376983061(當前秒數,相當於time()所得的結果)。
範例程式碼:
複製代碼代碼如下:
<?php
//程式已耗用時間
$starttime = explode(' ',microtime());
echo microtime();
/*········以下是代碼區·········*/
for($i=0;$i<1000000;$i++){
$i;
}
/*········以上是代碼區·········*/
//程式已耗用時間
$endtime = explode(' ',microtime());
$thistime = $endtime[0]+$endtime[1]-($starttime[0]+$starttime[1]);
$thistime = round($thistime,3);
echo "本網頁執行耗時:".$thistime." 秒。".time();
?>
最後兩者時間相減,再用round()函數對執行的時間保留自己所需的小數位就ok了。比如這裡是計算迴圈一百萬次所需要的時間為:0.116秒,如下圖:
為了程式的整潔性,我們可以將此代碼寫成一個類,用的時候引入進來,然後在程式開始前執行個體化這個類,結束再調用一個方法也可以實現這功能。