(PHP 5 >= 5.2.0, PHP 7)
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().
data
Un array asociativo de claves en formato strings que contiene los datos a filtrar.
definition
Un array definiendo los argumentos. Una clave válida será aquella que contiene un string con el nombre de una variable y un valor válido aquel que o bien es un tipo filter type o un array especificando opcionalmente el filtro, flags y opciones. Si el valor es un array, las claves válidas serán: filter que especifica el tipo filter type, flags que define cualquier flag que deba aplicarse a los filtros, y options que establece cualquier opción que se deba aplicar al filtro. Para entender mejor su funcionamiento, vea el ejemplo inferior.
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.
add_empty
Añade claves faltantes como NULL
al valor devuelto.
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.
Ejemplo #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"]=> string(17) "libgd%3Cscript%3E" ["componente"]=> array(1) { [0]=> int(10) } ["versiones"]=> string(6) "2.0.33" ["no_existe"]=> NULL ["test_escalar"]=> bool(false) ["test_array"]=> array(1) { [0]=> int(2) } }
Versión | Descripción |
---|---|
5.4.0 |
Se añadió el parámetro add_empty .
|