我有以下代码来计算执行时间。
$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 )
以上代码是否正确,如果是,为什么是开始时间>结束时间
答案 0 :(得分:5)
因为有效获取微秒时间的方式是microtime(true);
,而不是microtime();
如果没有第二个参数等于true
,您只需要一个字符串0.72150600 1329728036
,表示自空格分隔的unix时期以来的第二个分数和秒数。减法运算符只是将它转换为0.72150600
,这是错误的。
答案 1 :(得分:-2)
我建议你改用time()
。