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
| Parameter | Type | What it takes |
|---|---|---|
| $seconds | int | Must be a non-negative integer. |
| $nanoseconds | int | Must 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.