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

时间:2012-02-20 09:05:19

标签: php performance

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

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

以上代码是否正确,如果是,为什么是开始时间>结束时间

2 个答案:

答案 0 :(得分:5)

因为有效获取微秒时间的方式是microtime(true);,而不是microtime();

如果没有第二个参数等于true,您只需要一个字符串0.72150600 1329728036,表示自空格分隔的unix时期以来的第二个分数和秒数。减法运算符只是将它转换为0.72150600,这是错误的。

答案 1 :(得分:-2)

我建议你改用time()