CURL 転送用の複数のオプションを設定する

# curl_setopt_array

(PHP 5 >= 5.1.3, PHP 7)

curl_setopt_array — CURL 転送用の複数のオプションを設定する

### 説明

curl_setopt_array ( resource `$ch` , array `$options` ) : bool

cURL セッション用の複数のオプションを設定します。 この関数が便利なのは大量の cURL オプションを設定する場合で、 何度も繰り返して curl_setopt() をコールせずにすみます。

### パラメータ

`ch`

  curl_init() が返す cURL ハンドル。

`options`

  設定するオプションとその値を指定した配列。キーとして使用できるのは、 有効な curl_setopt() 定数か、 その定数に対応する整数値だけです。

### 返り値

すべてのオプションがうまく設定できた場合に `TRUE` を返します。 うまく設定できないオプションがあった時点で即時に `FALSE` が返され、`options` 配列に含まれるそれ以降のオプションは無視されます。

### 例

例1 新規に CURL セッションを初期化、ウェブページを取得する

`<?php
// 新しい cURL リソースを作成します
$ch = curl_init();
// URL その他のオプションを適切に設定します
$options = array(CURLOPT_URL => 'http://www.example.com/',
CURLOPT_HEADER => false
);
curl_setopt_array($ch, $options);
// URL の内容を取得し、ブラウザに渡します
curl_exec($ch);
// cURL リソースを閉じ、システムリソースを開放します
curl_close($ch);
?>`

PHP 5.1.3 より前のバージョンでこの関数と同等の操作をするには、次のようにします。

例2 curl_setopt_array() の独自実装

`<?php
if (!function_exists('curl_setopt_array')) {
function curl_setopt_array(&$ch, $curl_options)
{
foreach ($curl_options as $option => $value) {
if (!curl_setopt($ch, $option, $value)) {
return false;
}
}
return true;
}
}
?>`

### 注意

> 注意:

> curl_setopt() と同様、配列を `CURLOPT_POST` に渡すとデータを multipart/form-data でエンコードします。 一方 URL エンコードされた文字列を渡すと、データを application/x-www-form-urlencoded でエンコードします。

### 参考

- curl_setopt() - cURL 転送用オプションを設定する