# curl_setopt_array

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

curl_setopt_array — Configura múltiples opciones para una transferencia cURL

### Descripción

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

Configura multiples opciones para una sesión cURL. Esta función es muy útil para configurar gran cantidad de opciones cURL sin tener que llamar cada vez curl_setopt().

### Parámetros

`ch`

  El recurso cURL devuelto por curl_init().

`opciones`

  Un array especificando que opciones a configurar y con que valores. Las keys deben contener constantes curl_setopt() válidas o sus integer equivalentes.

### Valores devueltos

Devuelve `true` si todas las opciones se configuraron satisfactoriamente. Si una opción no se pudo configurar devolverá `false` inmediatamente. Ignorando cualquier otra opción en el array de `opciones`.

### Ejemplos

Ejemplo #1 Iniciando una nueva sesión cURL y capturando una página web

`<?php
// Crea un nuevo recurso cURL
$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);
?>`

Anterior a PHP 5.1.3 esta función puede ser simulada con:

Ejemplo #2 O nuestra implementación de 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;
}
}
?>`

### Notas

> Nota:

> Igual que curl_setopt(), si se pasa un array a `CURLOPT_POST` codificará los datos como multipart/form-data, mientras que si pasa una cadena URL-encoded codificará los datos como application/x-www-form-urlencoded.

### Ver también

- curl_setopt() - Configura una opción para una transferencia cURL