Forum und email

filter_var_array

(PHP 5 >= 5.2.0, PECL filter:0.11.0)

filter_var_array — Obtiene múltiples variables y opcionalmente las filtra

Descripción

mixed filter_var_array ( array $datos [, mixed $definicion ] )

Esta función es útil para recuperar varios valores sin llamar filter_var() repetitivamente.

Lista de parámetros

datos

Una matriz con claves tipo cadena, que contiene los datos a filtrar.

definicion

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.

Valores retornados

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.

Ejemplos

Example#1 Un ejemplo de filter_var_array()

<?php
error_reporting
(E_ALL E_STRICT);
$datos = 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_FORCE_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_FORCE_ARRAY,
                             )

);

$mis_entradas filter_var_array($datos$args);

var_dump($mis_entradas);
echo 
"\n";
?>

El resultado del ejemplo seria:

array(6) {
  ["id_producto"]=>
  string(17) "libgd%3Cscript%3E"
  ["componente"]=>
  array(1) {
    [0]=>
    int(10)
  }
  ["versiones"]=>
  string(6) "2.0.33"
  ["no_existe"]=>
  NULL
  ["prueba_escalar"]=>
  bool(false)
  ["prueba_matriz"]=>
  array(1) {
    [0]=>
    int(2)
  }
}