秒およびナノ秒単位で実行を遅延する

# time_nanosleep

(PHP 5, PHP 7, PHP 8)

time_nanosleep — 秒およびナノ秒単位で実行を遅延する

### 説明

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

指定した `seconds` および `nanoseconds` の時間だけプログラムの実行を遅延させます。

### パラメータ

`seconds`

  非負の整数である必要があります。

`nanoseconds`

  十億よりも小さい非負の整数である必要があります。

  > 注意: Windows では、与えられたナノ秒以上に長くスリープする可能性があります。 動作はハードウェア依存です。

### 戻り値

成功した場合に `true` を、失敗した場合に `false` を返します。

シグナルによって遅延処理が中断された場合、以下の要素からなる連想配列を返します。

- `seconds` - 残りの秒数
- `nanoseconds` - 残りのナノ秒数

### 例

例1 time_nanosleep() の例

    <?php
    // 注意! もし配列が返された場合、これはうまく動作しません
    if (time_nanosleep(0, 500000000)) {
        echo "0.5 秒遅延しました。\n";
    }

    // こちらのほうがよいでしょう
    if (time_nanosleep(0, 500000000) === true) {
        echo "0.5 秒遅延しました。\n";
    }

    // そしてこれが最良の方法です
    $nano = time_nanosleep(2, 100000);

    if ($nano === true) {
        echo "2 秒と 100 マイクロ秒だけ遅延しました。\n";
    } elseif ($nano === false) {
        echo "遅延に失敗しました。\n";
    } elseif (is_array($nano)) {
        $seconds = $nano['seconds'];
        $nanoseconds = $nano['nanoseconds'];
        echo "シグナルによって中断しました。\n";
        echo "残りの秒数は $seconds 秒と $nanoseconds ナノ秒です。";
    }
    ?>

### 参考

- sleep() - 実行を遅延させる
- usleep() - マイクロ秒単位で実行を遅延する
- time_sleep_until() - 指定した時刻まで実行を遅延する
- set_time_limit() - 実行時間の最大値を制限する

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open