首先我們分析一下原理,要想得到程序運行時間,那麼可以在程序最開始運行的時候定義一個變量記下當前時間,然後等我們程序運行完之後再記錄一下當前的時間,兩者相差就是該程序運行花費的時間了。
這裡介紹一下 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秒,如下圖:
為了程序的整潔性,我們可以將此代碼寫成一個類,用的時候引入進來,然後在程序開始前實例化這個類,結束再調用一個方法也可以實現這功能。