time_nanosleep
Delay for a number of seconds and nanoseconds
Description
arraybool time_nanosleep(int $seconds
, int $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
- usleep
- time_sleep_until
- set_time_limit