time_nanosleep
time_nanosleep($seconds, $nanoseconds)
Met le script en pause pour la durée donnée : des secondes entières plus des nanosecondes. Elle renvoie true. Lorsqu’un signal interrompt l’attente, elle renvoie un tableau avec le temps restant.
Paramètres
- $seconds – les secondes entières (0 ou plus).
- $nanoseconds – les nanosecondes, de 0 à 999 999 999.
Exemples
$start = hrtime(true); var_dump(time_nanosleep(0, 100000000)); // bool(true) // au moins 0,09 s se sont écoulées var_dump(hrtime(true) - $start >= 90000000); // bool(true) // une pause de 1,5 s : // time_nanosleep(1, 500000000);
Points d’attention
- Les nanosecondes doivent être comprises entre 0 et 999 999 999. Une autre valeur : PHP 7.4 affiche un avertissement et renvoie false, PHP 8 lance une exception ValueError.
- La durée réelle de la pause dépend du système et peut être un peu plus longue.
- Pour les pauses ordinaires, usleep() (microsecondes) ou sleep() (secondes) suffit.
Fonctions associées :
usleep()
sleep()
time_sleep_until()
hrtime()