Выполнить цикл в течение X секунд, установив уснув в while()
У меня есть переменная ($i), начинающаяся с 0 до 9. Она продолжает увеличиваться ($i++) в цикле, пока не достигнет 9, когда она достигнет 9, она вернет $ i к 0. Я хочу запустить этот цикл в течение 2 секунд только и затем получить окончательный номер, где он остановился через 2 секунды. Поэтому я написал следующий код:
$now = time();
$counter = 0;
while ($now + 2 > time()) {
$counter++;
if($counter == 9)
$counter = 0;
}
echo 'Counter: '.$counter;
Однако это неточно, каждый раз, когда он работает в течение 2 секунд, число отличается. Как я могу использовать usleep(2000000); который я читаю, является более точным в цикле while() или for(), прерывает цикл и печатает номер счетчика $ с точностью.