(PHP 5, PHP 7, PHP 8)
time_nanosleep — Atrasa por um número de segundos e nanossegundos
Atrasa a execução do programa pelo número de segundos informado em seconds
e de nanossegundos informado em nanoseconds
.
seconds
Deve ser um inteiro não negativo.
nanoseconds
Deve ser um inteiro não negativo menor que um 1 bilhão.
Nota: No Windows, o sistema pode atrasar mais que o número de nanossegundos informado, dependendo do equipamento.
Retorna true
em caso de sucesso ou false
em caso de falha.
Se o atraso foi interrompido por um sinal, um array associativo será retornado com os componentes:
seconds
- número de segundos remanescentes no atraso nanoseconds
- número de nanossegundos remanescentes no atraso Exemplo #1 Exemplo de time_nanosleep()
<?php
// Cuidado! Não vai funcionar como esperado se um array for retornado
if (time_nanosleep(0, 500000000)) {
echo "Dormi por meio segundo.\n";
}
// Assim é melhor:
if (time_nanosleep(0, 500000000) === true) {
echo "Dormi por meio segundo.\n";
}
// E assim é o melhor:
$nano = time_nanosleep(2, 100000);
if ($nano === true) {
echo "Dormi por 2 segundos, 100 microssegundos.\n";
} elseif ($nano === false) {
echo "Pausa falhou.\n";
} elseif (is_array($nano)) {
$seconds = $nano['seconds'];
$nanoseconds = $nano['nanoseconds'];
echo "Interrompido por um sinal.\n";
echo "Tempo remanescente: $seconds segundos, $nanoseconds nanossegundos.";
}
?>