# time_nanosleep

(PHP 5, PHP 7, PHP 8)

time_nanosleep — Attendre pendant un nombre de secondes et de nanosecondes

### Description

time_nanosleep(int `$seconds`, int `$nanoseconds`): array|bool

time_nanosleep() impose un délai d'exécution de `seconds` secondes et `nanoseconds` nanosecondes.

### Liste de paramètres

`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.

### Valeurs de retour

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

### Exemples

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.";
}
?>`

### Voir aussi

- sleep() - Arrête l'exécution durant quelques secondes
- usleep() - Arrête l'exécution durant quelques microsecondes
- time_sleep_until() - Arrête le script pendant une durée spécifiée
- set_time_limit() - Fixe le temps maximum d'exécution d'un script