time_nanosleep
(PHP 5, PHP 7, PHP 8)
time_nanosleep — Delay for a number of seconds and nanoseconds
Description
$seconds
, int $nanoseconds
): array|bool
Delays program execution for the given number of
seconds
and nanoseconds
.
Parameters
-
seconds
-
Must be a non-negative integer.
-
nanoseconds
-
Must be a non-negative integer less than 1 billion.
Note: On Windows, the system may sleep longer that the given number of nanoseconds, depending on the hardware.
Return Values
Returns true
on success or false
on failure.
If the delay was interrupted by a signal, an associative array will be returned with the components:
-
seconds
- number of seconds remaining in the delay -
nanoseconds
- number of nanoseconds remaining in the delay
Examples
Example #1 time_nanosleep() example
<?php
// Careful! This won't work as expected if an array is returned
if (time_nanosleep(0, 500000000)) {
echo "Slept for half a second.\n";
}
// This is better:
if (time_nanosleep(0, 500000000) === true) {
echo "Slept for half a second.\n";
}
// And this is the best:
$nano = time_nanosleep(2, 100000);
if ($nano === true) {
echo "Slept for 2 seconds, 100 microseconds.\n";
} elseif ($nano === false) {
echo "Sleeping failed.\n";
} elseif (is_array($nano)) {
$seconds = $nano['seconds'];
$nanoseconds = $nano['nanoseconds'];
echo "Interrupted by a signal.\n";
echo "Time remaining: $seconds seconds, $nanoseconds nanoseconds.";
}
?>
See Also
- sleep() - Delay execution
- usleep() - Delay execution in microseconds
- time_sleep_until() - Make the script sleep until the specified time
- set_time_limit() - Limits the maximum execution time