Set multiple options for a cURL transfer

# curl_setopt_array

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

curl_setopt_array — Set multiple options for a cURL transfer

### Description

curl_setopt_array(CurlHandle `$handle`, array `$options`): bool

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

### Parameters

`handle`

  A cURL handle returned by curl_init().

`options`

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

### Return Values

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.

### Changelog

Version | Description
--- | ---
8.0.0 | `handle` expects a CurlHandle instance now; previously, a resource was expected.

### Examples

Example #1 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);
?>`

### Notes

> Note:

> 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.

### See Also

- curl_setopt() - Set an option for a cURL transfer

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