time_nanosleep()

time_nanosleep() — Delay for a number of seconds and nanoseconds.

Built-in function of PHP 8.5. The manual lists it as available in PHP 5, PHP 7, PHP 8. This page is the reference card: signature, parameters and return value, plus the changelog and the example the manual provides.

What it does

Delays program execution for the given number of seconds and nanoseconds.

Signature

time_nanosleep(int $seconds, int $nanoseconds): array|bool

Parameters

ParameterTypeWhat it takes
$secondsintMust be a non-negative integer.
$nanosecondsintMust be a non-negative integer less than 1 billion.

Return value

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 seconds - number of seconds remaining in the delay nanoseconds - number of nanoseconds remaining in the delay

Example

A runnable snippet:

// 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(), usleep(), time_sleep_until(), set_time_limit()

All PHP 8.5 built-in functions

Reference card built from the PHP manual page time_nanosleep() (PHP documentation, CC BY 3.0). The page is generated from the manual, so the wording of the parameter and return value text follows php.net.