time_nanosleep

(PHP 5, PHP 7, PHP 8)

time_nanosleepDelay for a number of seconds and nanoseconds

Description

time_nanosleep(int $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

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top