curl_setopt_array

Set multiple options for a cURL transfer

&reftitle.description; `bool` `curl_setopt_array` `CurlHandle` `handle` `array` `options`

Sets multiple options for a cURL session. This function is useful for setting a large number of cURL options without repetitively calling `curl_setopt`.

&reftitle.parameters;

&curl.ch.description;

`options`

- An `array` specifying which options to set and their values. The keys should be valid `curl_setopt` constants or their integer equivalents.

&reftitle.returnvalues;

Returns &true; if all options were successfully set. If an option could not be successfully set, &false; is immediately returned, ignoring any future options in the `options` array.

&reftitle.changelog;

&Version; | &Description;
&curl.changelog.handle-param;

&reftitle.examples;

### Initializing a new cURL session and fetching a web page

    <?php
    // create a new cURL resource
    $ch = curl_init();

    // set URL and other appropriate options
    $options = array(CURLOPT_URL => 'http://www.example.com/',
                     CURLOPT_HEADER => false
                    );

    curl_setopt_array($ch, $options);

    // grab URL and pass it to the browser
    curl_exec($ch);

    // close cURL resource, and free up system resources
    curl_close($ch);
    ?>

&reftitle.notes;

As with `curl_setopt`, passing an array to `CURLOPT_POST` will encode the data as multipart/form-data, while passing a URL-encoded string will encode the data as application/x-www-form-urlencoded.

&reftitle.seealso;

- `curl_setopt`