为什么开始时间大于结束时间


why is start time greater than end time

我有以下代码来计算执行时间。

$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()