任意の cURL マルチハンドル接続で読み取りまたは書き込みが可能になるまで待機する

# curl_multi_select

(PHP 5, PHP 7, PHP 8)

curl_multi_select — 任意の cURL マルチハンドル接続で読み取りまたは書き込みが可能になるまで待機する

### 説明

function curl_multi_select(CurlMultiHandle `$multi_handle`, float `$timeout` = 1.0): int

スクリプトの実行をブロックし、次の curl_multi_exec() の呼び出しで cURL マルチハンドルに関連付けられた cURL ハンドルが処理を進められるようになるか、 タイムアウトになるまで待機します（どちらか早い方が適用されます）。

### パラメータ

`multi_handle`
  curl_multi_init() が返す cURL マルチハンドル。
`timeout`

  アクティブな cURL マルチハンドル接続からのレスポンスを待機する時間（秒単位）。

### 戻り値

成功した場合は、記述子セットに含まれるアクティブな記述子の数を返します。 どの記述子上にもアクティビティがなかった場合は、結果が `0` になることもあります。 (`select()` システムコールから) select に失敗した場合は `-1` を返します。

### エラー / 例外

`timeout` が `0` 未満または `PHP_INT_MAX` を超える場合、ValueError をスローします。

### 変更履歴

バージョン | 説明
--- | ---
8.4.0 | `timeout` が `0` 未満または `PHP_INT_MAX` を超える場合、ValueError をスローするようになりました。
8.0.0 | `multi_handle` は CurlMultiHandle クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、resource を期待していました。

### 参考

- curl_multi_init() - 新規 cURL マルチハンドルを返す

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