很多时候我们需要计算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() 函数
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脚本执行的时间了。