(PHP 5 >= 5.2.0)
filter_var_array — Retorna múltiple variables y opcionalmente las filtra
Esta función es útil para recuperar muchos valores sin llamar repetidamente a filter_var().
Un array asociativo de claves en formato strings que contiene los datos a filtrar.
Un array definiendo los argumentos. Una clave válida es un string que contiene el nombre de una variable y un valor válido es o bien un tipo de filtro o un array opcionalmente especificando el filtro, flags y opciones. Si el valor es un array, las claves válidas son: filter que especifica el tipo de filtro, flags que especifica cualquier flag que debe aplicarse a los filtros, y options que especifica cualquier opción que se aplica al filtro. Ver el ejemplo de más abajo para entenderlo mejor.
Este parámetro puede ser tambien un integer indicando una constante de filtro.. Entonces, todos los valores en el array de entrada son filtrados por este filtro.
En caso de éxito un array que contiene los valores de las variables que se han pedido o FALSE en caso de fallo. El valor del array será FALSE si el filtro falla o NULL si la variable no está definida.
Example #1 Ejemplo de filter_var_array()
<?php
error_reporting(E_ALL | E_STRICT);
$data = array(
'id_producto' => 'libgd<script>',
'componente' => '10',
'versiones' => '2.0.33',
'test_escalar' => array('2', '23', '10', '12'),
'test_array' => '2',
);
$args = array(
'id_producto' => FILTER_SANITIZE_ENCODED,
'componente' => array('filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_FORCE_ARRAY,
'options' => array('min_range' => 1, 'max_range' => 10)
),
'versiones' => FILTER_SANITIZE_ENCODED,
'no_existe' => FILTER_VALIDATE_INT,
'test_scalar' => array(
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_REQUIRE_SCALAR,
),
'test_array' => array(
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_FORCE_ARRAY,
)
);
$myinputs = filter_var_array($data, $args);
var_dump($myinputs);
echo "\n";
?>
El resultado del ejemplo sería:
array(6) { ["id_producto"]=> array(1) { [0]=> string(17) "libgd%3Cscript%3E" } ["componente"]=> array(1) { [0]=> int(10) } ["versiones"]=> array(1) { [0]=> string(6) "2.0.33" } ["no_existe"]=> NULL ["test_escalar"]=> bool(false) ["test_array"]=> array(1) { [0]=> int(2) } }