При регистрации некоторых данных с использованием микровремени()(используя PHP 5 ), я столкнулся с некоторыми значениями, которые казались немного не в фазе по отношению к метке времени моего файла журнала, поэтому я просто попытался сравнить вывод времени ()и микровремени ()с помощью простого скрипта (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);
}
?>
Теперь, когда $microtime объявлено до $time, я ожидаю, что оно будет меньше, и ничего не должно выводиться; однако это, очевидно, не так, и время от времени $time меньше секунд, возвращаемых из микровремени (), как в этом примере (truncated )output:
1344536674 : 0.15545100 1344536675
1344536675 : 0.15553900 1344536676
1344536676 : 0.15961000 1344536677
1344536677 : 0.16758900 1344536678
Так вот, это всего лишь небольшой пробел; тем не менее, я наблюдал некоторые серии, где разница составляет (довольно )больше секунды... как же это возможно?