平常在我們瀏覽網站的時候,常常會用到搜尋的功能,在搜尋資訊時,細心的使用者會發現,在搜尋結果的最下方,一般都有「搜尋時間為x秒」的字樣,這就是利用PHP的microtime() 函數。
microtime() 函數是傳回目前UNIX時間戳記和微妙數。傳回格式為mesc sec的字串,其中sec是目前的UNIX時間戳,msec為微妙數。
語法格式如下
microtime(get_as_float);
參數描述
當設定為 TRUE 時,規定函數應該傳回一個浮點數,否則傳回字串。預設為 FALSE。
實例
下面我們就來計算一段程式碼的運行時間,先宣告一個函數run_time(),該函數傳回目前的時間,精確到微妙。在PHP程式碼段運行之前先執行一次函數,同時將回傳值儲存到變數
$start_time中,接著執行PHP程式碼段。當程式碼段運行完畢後再次呼叫run_time()函數,同時將回傳值儲存到變數$end_time中,這兩個變數的差值就是該PHP程式碼段執行的時間
範例程式碼如下:
<?php header("Content-type:text/html;charset=utf-8"); //设置编码 /*声明run_time变量*/ function run_time(){ list($mesc,$sec)=explode(" ",microtime()); return ((float)$mesc+(float)$sec); } $start_time=run_time(); //第一次运行代码段 /*运行代码段*/ $time1=strtotime(date("Y-m-d H:i:s")); //获取当前时间 $time2=strtotime("2017-5-1"); //五一放假时间 $time3=strtotime("2017-8-15"); //端午放假时间 $sub1=ceil(($time2-$time1)/3600); //(60秒*60分)秒/小时 $sub2=ceil(($time3-$time1)/86400); //(60秒*60分*24小时)秒/天 echo "离五一放假时间还有"." ".$sub1." "."小时!!!"; echo "<p>"; echo "离端午节放假时间还有"." ".$sub2." "."天!!!"; $end_time=run_time(); $time=$end_time-$start_time; //再次运行代码段 echo "<p>"; echo "该示例的运行时间为".$time."秒"; ?>
範例詳解:
explode函數,函數格式為
explode(separator,string,limit)
該函數的作用是將字串(string)依照指定的字串或字元(separator)切開,如果separator為空(“”),那麼函數將傳回false;如果separator所包含的值在string中找不到,那麼該函數將傳回string單一元素的陣列。
list()函數,函數格式為:
list(var1,var2...)
該函數的作用是將陣列中的值賦給一些變數var1。
範例運行結果如下圖:
#總結
透過前面一系列的學習,我們介紹PHP中常用的處理日期和時間的函數,主要分為三個方面:首先是介紹了系統的時區設定,然後介紹了PHP中內建的日期和時間函數,有獲得本地時間戳mktime()函數,取得當前時間戳time()函數,取得目前日期和時間date()函數,取得日期信息getdate()函數,檢定日期的有效性checkdate()函數,將日期和時間解析為UNIX時間戳strtotime()函數,最後介紹了日期和時間的常用方法用strtotime()函數比較兩個時間的大小,使用PHP時間日期函數strtotime()實作倒數計時的功能實例詳解以及本章所講解的實作計算頁面腳本的運行時間等,希望透過這一系列的學習,大家可以熟練的使用PHP中的日期和時間函數。
以上是php microtime() 函數實作計算頁面腳本的執行時間實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!