filter_var_array
(PHP 5 >= 5.2.0)
filter_var_array — Retorna múltiple variables y opcionalmente las filtra
Descripción
Esta función es útil para recuperar muchos valores sin llamar repetidamente a filter_var().
Parámetros
-
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 -
Alade claves faltantes como
NULLal valor devueltol.
Valores devueltos
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.
Ejemplos
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"]=>
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)
}
}
Historial de cambios
| Versión | Descripción |
|---|---|
| 5.4.0 |
Se añadió el parámetro add_empty.
|
Ver también
- filter_input_array() - Obtiene variables externas y opcionalmente las filtra
- filter_var() - Filtra una variable con el filtro que se indique
- filter_input() - Toma una variable externa concreta por nombre y opcionalmente la filtra
- Tipos de filtros