microtime(true)在PHP中没有返回正确的值

时间:2016-07-27 09:48:54

标签: php

我想计算一个查询执行时间。 这是我的代码:

$stmt = $conn->prepare($query);     
$start = microtime(true);  // echo $start would return xxxxxxx.xxxx
$stmt->execute();
$end = microtime(true);
list($usec, $sec) = explode(".", $start);
$timestart = ((float)$usec + (float)$sec);
list($usec, $sec) = explode(".", $end);
$timeend = ((float)$usec + (float)$sec);
echo "$timeend - $timestart =".($timeend - $timestart);

我从echo命令得到的结果是:1469612504 - 1469619953 =-7449 我不知道$timeend$timestart更轻微。

我做错了什么? 我想我不是在计算$ timestart和$ timeend ..

1 个答案:

答案 0 :(得分:3)

您无需展开$start$end个变量:

$stmt = $conn->prepare($query);     
$start = microtime(true);  // echo $start would return xxxxxxx.xxxx
$stmt->execute();
$end = microtime(true);
echo "$timeend - $timestart =".($end - $start);