我创建了一个简单的网站,用于从MySQL数据库中获取文章。我使用PHP microtime(true)
函数来计算解释的时间。在我的PHP脚本的顶部,我使用了:
$time = microtime(true);
在页面底部,我使用了以下代码:
echo microtime(true) - $time;
当我使用脚本顶部和底部的那些语句刷新我的网页时。它总是回显一个值(0.0355005264282
;只是一个实例)。这是解释我的PHP页面的时间。
正如PHP手册所说(http://php.net/manual/en/function.microtime.php),microtime(true)
以微秒为单位返回当前的unix时间戳。微秒is one millionth of
秒。所以,
(例如):
0.03 microseconds = 1/1,000,000 * 0.03 seconds
0.03 microseconds = 0.000,000,03 seconds
因此,解释使用MySQL的PHP网页的时间大约为0.000,000,03
秒。
我的问题是:
这microtime(true)
是否说出了解释时间的真相?如果这是真的,这太棒了,因为我不再需要过多担心性能了。
我在Windows上使用XAMPP
答案 0 :(得分:10)
microtime - 以微秒为单位返回当前的Unix时间戳
混合微量时间([bool $ get_as_float = false])
改为:
$time = microtime(true);
echo microtime(true) - $time;
结果将在几秒钟内完成。检查一下(手动):
'时间1' => float 1360860136.6731
'时间2' => float 1360860136.6732和
'时间2' - ' time1' = 9.9897384643555E-5即0.000099897384643555(不是0.0001)
PHP通常使用IEEE 754双精度格式。可以在基数10中精确表示为浮点数的有理数,如0.1或0.7,在基数2中没有精确表示为浮点数
答案 1 :(得分:6)
使用$get_as_float
,它以秒为单位返回时间,精确到微秒。所以你有0.0355005264282
秒,而不是微秒。
从您的链接:
如果get_as_float设置为TRUE,则microtime()返回一个浮点数, 它表示自Unix时代以来的当前时间(以秒为单位) 精确到最接近的微秒。
答案 2 :(得分:2)
默认情况下,microtime
会以“毫秒秒”的形式返回字符串。您正在从字符串中减去一个字符串,这会产生无意义的结果。
尝试添加get_as_float
参数,然后重试。