使用microtime()进行PHP分析:负时间?

2022-08-30 11:41:31

对于非常简单的分析,我使用如下:microtime()

$now = microtime();
for (...) {
    // do something
    echo microtime() - $now;
    $now = microtime();
}

现在,该行的输出似乎完全是随机的,也就是说,我预计会有波动,但我想到负数会出现。echo

但是,典型结果包含约 1/3 个负数。我在Solaris(PHP 5.0.x)和WinVista(PHP 5.2.3)上确认了这一点。

这到底是怎么回事?我是否意外地发明了一台时间机器?


答案 1

如果要对microtime返回的内容执行操作,则必须将“get as float”参数设置为true(默认为false)。

http://www.php.net/manual/en/function.microtime.php

$now = microtime(true);
for (...) {
    // do something
    echo microtime(true) - $now;
    $now = microtime(true);
}

答案 2

推荐