(PHP 5, PHP 7, PHP 8)
time_nanosleep — Attendre pendant un nombre de secondes et de nanosecondes
$seconds
, int $nanoseconds
): array|bool
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.";
}
?>