Función PHP filter_input_array()

Definición y uso

La función filter_input_array() obtiene múltiples entradas desde fuera del script y las filtra.

Esta función no requiere llamar repetidamente a filter_input(), lo que es útil para filtrar múltiples variables de entrada.

Esta función puede obtener entradas de diversas fuentes:

  • INPUT_GET
  • INPUT_POST
  • INPUT_COOKIE
  • INPUT_ENV
  • INPUT_SERVER
  • INPUT_SESSION (No implementado aún)
  • INPUT_REQUEST (No implementado aún)

Si tiene éxito, devuelve los datos filtrados, si falla, devuelve false.

Sintaxis

filter_input(input_type, args)
Parámetro Descripción
input_type Necesario. Define el tipo de entrada. Consulte la lista superior de tipos posibles.
args

Opcional. Define el array de parámetros del filtro.

Las claves válidas del array son los nombres de las variables. Los valores válidos son el ID del filtro, o un array que define el filtro, los índices y las opciones.

Este parámetro también puede ser un ID de filtro único, si es así, todos los valores del array de entrada se filtrarán con el filtro especificado.

Consejos y comentarios

Consejo:VerManual de referencia completo de PHP Filterpara ver los filtros que se pueden usar con esta función.

Ejemplo

En este ejemplo, usamos la función filter_input_array() para filtrar tres variables POST. Los variables POST aceptadas son nombre, edad y dirección de correo electrónico:

<?php
$filters = array
 (
 "name" => array
  (
  "filter"=>FILTER_CALLBACK,
  "flags"=>FILTER_FORCE_ARRAY,
  "options"=>"ucwords"
  ),
 "age" => array
  (
  "filter"=>FILTER_VALIDATE_INT,
  "options"=>array
   (
   "min_range"=>1,
   "max_range"=>120
   )
  ),
 "email"=> FILTER_VALIDATE_EMAIL,
 );
print_r(filter_input_array(INPUT_POST, $filters));
?>

Salida similar a:

Array
 (
 [name] => Peter
 [age] => 41
 [email] => peter@example.com
 )