(PHP 5, PHP 7, PHP 8)
time_nanosleep — Esperar durante un número de segundos y nanosegundos
time_nanosleep() impone un retraso de ejecución
de seconds
segundos y
nanoseconds
nanosegundos.
seconds
Debe ser un integer no negativo.
nanoseconds
Debe ser un integer no negativo, inferior a 1000 millones.
Nota: En Windows, el sistema puede esperar más tiempo que el número de nanosegundos dado, según el hardware.
Devuelve true
en caso de éxito o false
en caso de error.
Si el retraso es interrumpido por una señal, se devolverá un array asociativo con los elementos:
seconds
: número de segundos restantes en el retraso
nanoseconds
: número de nanosegundos restantes en el retraso
Ejemplo #1 Ejemplo con time_nanosleep()
<?php
// ¡Atención! Esto no funcionará como se espera si se devuelve un array
if (time_nanosleep(0, 500000000)) {
echo "Dormir durante media segundo.\n";
}
// Esto es mejor:
if (time_nanosleep(0, 500000000) === true) {
echo "Dormir durante media segundo.\n";
}
// Y esto es la mejor forma:
$nano = time_nanosleep(2, 100000);
if ($nano === true) {
echo "Dormir durante 2 segundos y 100 microsegundos.\n";
} elseif ($nano === false) {
echo "El retraso ha fallado.\n";
} elseif (is_array($nano)) {
$seconds = $nano['seconds'];
$nanoseconds = $nano['nanoseconds'];
echo "Interrumpido por una señal.\n";
echo "Tiempo restante: $seconds segundos, $nanoseconds nanosegundos.";
}
?>