欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

php microtime 耗時(shí)

php中的microtime函數(shù)用于返回當(dāng)前時(shí)間的微秒數(shù)。在一些程序中,我們需要計(jì)算代碼執(zhí)行的時(shí)間,這時(shí)候microtime函數(shù)就派上用場了。

比如,我們編寫了下面這段代碼:

$start_time = microtime(true);
// 執(zhí)行某些代碼
$end_time = microtime(true);
$cost_time = $end_time - $start_time;
echo "代碼執(zhí)行耗時(shí):{$cost_time}秒";

這段代碼的作用是計(jì)算執(zhí)行某些代碼的耗時(shí)。$start_time和$end_time分別是代碼開始執(zhí)行和結(jié)束執(zhí)行時(shí)的時(shí)間,兩者相減就能得到代碼執(zhí)行的耗時(shí)。

上述代碼中microtime函數(shù)的參數(shù)為true,表示返回浮點(diǎn)數(shù)(秒加微秒),如果參數(shù)為false或不填,則返回字符串類型的時(shí)間戳。

有時(shí)候,我們需要在循環(huán)中計(jì)算每次循環(huán)的耗時(shí),這時(shí)候可以將計(jì)算代碼耗時(shí)的部分封裝成一個(gè)函數(shù),如下所示:

function calcCostTime() {
static $last_time;
$now_time = microtime(true);
if($last_time){
$cost_time = $now_time - $last_time;
echo "本次循環(huán)耗時(shí):{$cost_time}秒\n";
}
$last_time = $now_time;
}
for($i=0; $i<10; $i++){
calcCostTime();
// 執(zhí)行循環(huán)中的一些操作
}

上面的代碼中,calcCostTime函數(shù)中使用了static關(guān)鍵字,將$last_time變量聲明為靜態(tài)變量,這樣每一次函數(shù)調(diào)用時(shí),$last_time變量的值是上一次函數(shù)調(diào)用時(shí)保存的值。這樣,在循環(huán)中調(diào)用calcCostTime函數(shù)就可以計(jì)算每次循環(huán)的耗時(shí)了。

如果我們需要計(jì)算整個(gè)PHP腳本的執(zhí)行時(shí)間,可以利用register_shutdown_function函數(shù),在PHP腳本結(jié)束時(shí)執(zhí)行某個(gè)函數(shù):

function shutdown(){
$cost_time = microtime(true) - $_SERVER["REQUEST_TIME_FLOAT"];
echo "本次腳本執(zhí)行耗時(shí):{$cost_time}秒\n";
}
register_shutdown_function('shutdown');
// 執(zhí)行PHP腳本的一些操作

上面的代碼中,我們利用$_SERVER["REQUEST_TIME_FLOAT"]來保存腳本開始執(zhí)行的時(shí)間,然后在register_shutdown_function函數(shù)中注冊(cè)一個(gè)shutdown函數(shù),在腳本結(jié)束時(shí)調(diào)用該函數(shù),計(jì)算腳本執(zhí)行的耗時(shí)。

總的來說,microtime函數(shù)在PHP中非常實(shí)用,可以幫助我們計(jì)算代碼執(zhí)行的耗時(shí),優(yōu)化代碼性能。