我有以下代码来计算执行时间。
$TimeTaken['start'] = microtime();
require_once 'resources/include.php';
session_start();
ob_start();
error_reporting(E_ALL);*/
error_reporting(0);
/* Other Mojo
...............
...............
...............
*/
ob_flush();
flush();
ob_end_flush();
$TimeTaken['end'] = microtime();
$TimeTaken['diff'] = $TimeTaken['end'] - $TimeTaken['start'];
print_r($TimeTaken);
?>
这是我(有时)得到的输出
Array ( [start] => 0.72150600 1329728036
[end] => 0.62957200 1329728038
[diff] => -0.091934 )
上面的代码是正确的吗?如果是,为什么开始时间>结束时间
因为用微秒获取时间的有效方法是microtime(true);
,而不是microtime();
如果第二个参数不等于true
,那么您只需要一个字符串0.72150600 1329728036
,它表示自unix epoch以来的第二个分数和秒,用空格分隔。减法运算符只是将其强制转换为0.72150600
,这是错误的。
我建议您改用time()
。