(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.
seconds
Doit être un entier non-négatif.
nanoseconds
Doit ê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.";
}
?>