Forum und email

filter_input_array

(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

Descripción

mixed filter_input_array ( int $tipo [, mixed $definicion ] )

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

Lista de parámetros

tipo

Un valor entre INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER, INPUT_ENV, INPUT_SESSION, o INPUT_REQUEST.

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. O si la bandera FILTER_NULL_ON_FAILURE es usada, devuelve FALSE si la variable no es definida y NULL si el filtro falla.

Ejemplos

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)
  }
}