在使用microtime()(使用PHP 5)记录一些数据的同时,我遇到了一些与我的日志文件的时间戳略有不同的值,因此我只是尝试比较time()和microtime()的输出用一个简单的脚本(usleep只是为了限制数据输出):
<?php
for($i = 0; $i < 500; $i++) {
$microtime = microtime();
$time = time();
list($usec, $sec) = explode(" ", $microtime);
if ((int)$sec > $time) {
echo $time . ' : ' . $microtime . '<br>';
}
usleep(50000);
}
?>
Run Code Online (Sandbox Code Playgroud)
现在,由于$ microtime在$ time之前被宣布,我希望它更小,并且不应该输出任何东西; 然而,这显然不是这种情况,并且时不时地,$ time小于microtime()返回的秒数,如本例(截断)输出:
1344536674 : 0.15545100 1344536675
1344536675 : 0.15553900 1344536676
1344536676 : 0.15961000 1344536677
1344536677 : 0.16758900 1344536678
Run Code Online (Sandbox Code Playgroud)
现在,这只是一个小差距; 然而,我观察到一些系列的差异(相当)超过一秒...所以,这怎么可能?