(PHP 5, PHP 7, PHP 8)
time_nanosleep — Attendre pendant un nombre de secondes et de nanosecondes
time_nanosleep() impose un délai d'exécution
de seconds secondes et
nanoseconds nanosecondes.
secondsDoit être un entier non-négatif.
nanosecondsDoit être un entier non-négatif, inférieur à 1 milliard.
Note: Sous Windows, le système peut attendre plus longtemps que le nombre de nanosecondes donné, selon le matériel.
Cette fonction retourne true en cas de succès ou false si une erreur survient.
Si le délai est interrompu par un signal, un tableau associatif sera retourné avec les éléments :
seconds : nombre de secondes restantes dans le délai
nanoseconds : nombre de nanosecondes restantes dans le délai
Exemple #1 Exemple avec time_nanosleep()
<?php
// Attention ! Cela ne fonctionnera pas comme prévu si un tableau est retourné
if (time_nanosleep(0, 500000000)) {
echo "Dors pendant une demie seconde.\n";
}
// Ceci est meilleur :
if (time_nanosleep(0, 500000000) === true) {
echo "Dors pendant une demie seconde.\n";
}
// Et ceci est la meilleur façon :
$nano = time_nanosleep(2, 100000);
if ($nano === true) {
echo "Dors pendant 2 secondes et 100 microsecondes.\n";
} elseif ($nano === false) {
echo "Le délai a échoué.\n";
} elseif (is_array($nano)) {
$seconds = $nano['seconds'];
$nanoseconds = $nano['nanoseconds'];
echo "Interrompu par un signal.\n";
echo "Temps restant : $seconds secondes, $nanoseconds nanosecondes.";
}
?>