(PHP 5 >= 5.2.0, PECL filter:0.11.0)
filter_input_array — Obtiene múltiples variables desde afuera de PHP y opcionalmente las filtra
Esta función es útil para recuperar varios valores sin llamar filter_input() repetitivamente.
Un valor entre INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER, INPUT_ENV, INPUT_SESSION, o INPUT_REQUEST.
Una matriz que define los argumentos. Una clave válida es un valor tipo string que contenga un nombre de variable, y un valor válido es un tipo de filtro, o un valor tipo array que especifique el filtro, las banderas y las opciones. Si el valor es una matriz, las claves válidas son filter, que especifica el tipo de filtro, flags que especifica las banderas que se apliquen al filtro, y options que especifica las opciones del filtro. Vea el ejemplo a continuación para más detalles.
Este parámetro puede ser también un entero que contenga una constante de filtro. Entonces todos los valores en la matriz de entrada son filtrados por este filtro.
Una matriz que contiene los valores de las variables solicitadas en caso de éxito, o FALSE si ocurre un error. Un valor de matriz será FALSE si el filtro falla, o NULL si la variable no es establecida. O si la bandera FILTER_NULL_ON_FAILURE es usada, devuelve FALSE si la variable no es definida y NULL si el filtro falla.
Example#1 Un ejemplo de filter_input_array()
<?php
error_reporting(E_ALL | E_STRICT);
/* los datos vinieron realmente desde POST
$_POST = array(
'id_producto' => 'libgd<script>',
'componente' => '10',
'versiones' => '2.0.33',
'prueba_escalar' => array('2', '23', '10', '12'),
'prueba_matriz' => '2',
);
*/
$args = array(
'id_producto' => FILTER_SANITIZE_ENCODED,
'componente' => array('filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_REQUIRE_ARRAY,
'options' => array('min_range' => 1, 'max_range' => 10)
),
'versiones' => FILTER_SANITIZE_ENCODED,
'no_existe' => FILTER_VALIDATE_INT,
'prueba_escalar' => array(
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_REQUIRE_SCALAR,
),
'prueba_matriz' => array(
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_REQUIRE_ARRAY,
)
);
$mis_entradas = filter_input_array(INPUT_POST, $args);
var_dump($mis_entradas);
echo "\n";
?>
El resultado del ejemplo seria:
array(6) { ["id_producto"]=> string(17) "libgd%3Cscript%3E" ["componente"]=> int(10) ["versiones"]=> string(6) "2.0.33" ["no_existe"]=> NULL ["prueba_escalar"]=> bool(false) ["prueba_matriz"]=> array(1) { [0]=> int(2) } }