time_nanosleep

(PHP 5, PHP 7, PHP 8)

time_nanosleepЗадержка на заданное число секунд и наносекунд

Описание

time_nanosleep(int $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 наносекунд.";
}
?>

Смотрите также

  • sleep() - Задержка выполнения
  • usleep() - Задержка выполнения в микросекундах
  • time_sleep_until() - Откладывает исполнение скрипта до заданного времени
  • set_time_limit() - Ограничение времени выполнения скрипта