(PHP 5, PHP 7, PHP 8)
time_nanosleep — Задержка на заданное число секунд и наносекунд
$seconds
, int $nanoseconds
): array|bool
Откладывает исполнение программы на заданные в параметрах
seconds
и nanoseconds
число секунд и наносекунд соответственно.
seconds
Должно быть целым положительным числом.
nanoseconds
Должно быть целым положительным числом, меньшим одного миллиарда.
Замечание: В Windows система может откладывать исполнение дольше указанного количества наносекунд, в зависимости от аппаратного обеспечения.
Возвращает true
в случае успешного выполнения или false
в случае возникновения ошибки.
Если отложенное исполнение было прервано сигналом, то возвращается ассоциативный массив со следующими компонентами:
seconds
- число оставшихся секунд
nanoseconds
- число оставшихся наносекунд
Пример #1 Пример использования time_nanosleep()
<?php
// Внимание! Если будет возвращён массив, то такая функция не сработает, как ожидалось
if (time_nanosleep(0, 500000000)) {
echo "Задержка на полсекунды.\n";
}
// Так лучше:
if (time_nanosleep(0, 500000000) === true) {
echo "Задержка на полсекунды.\n";
}
// А так лучше всего:
$nano = time_nanosleep(2, 100000);
if ($nano === true) {
echo "Задержка на 2 секунды, 100 микросекунд.\n";
} elseif ($nano === false) {
echo "Задержка не удалась.\n";
} elseif (is_array($nano)) {
$seconds = $nano['seconds'];
$nanoseconds = $nano['nanoseconds'];
echo "Прервано сигналом.\n";
echo "Осталось: $seconds секунд, $nanoseconds наносекунд.";
}
?>