Overview
KB
Technical FAQ
PHP Manual
CSS2 Manual
HTML Manual
JS Guide
JS Reference
PhpDock Manual
Nu-Coder Manual
PhpExpress Manual
PHP Joomla
Development
Learn PHP
 
<curl_setoptcurl_share_close>
^cURL FunctionsLast updated: Mon, 26 Oct 2026

curl_setopt_array

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

curl_setopt_array — Set multiple options for a cURL transfer

Description

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

Errors/Exceptions

Throws a ValueError when options contains an invalid cURL option.

Changelog

Version Description
8.0.0 curl_setopt_array() now throws a ValueError if options contains an unknown option or a string key. Previously, unknown options were silently ignored, and a string key emitted an E_WARNING and returned false.
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_setoptcurl_share_close>
^cURL FunctionsLast updated: Mon, 26 Oct 2026