Функция PHP filter_input_array()

Определение и использование

Функция filter_input_array() получает múltiples вводы извне скрипта и фильтрует их.

Эта функция не требует повторного вызова filter_input(), что полезно для фильтрации нескольких переменных ввода.

Эта функция может получить ввод из различных источников:

  • INPUT_GET
  • INPUT_POST
  • INPUT_COOKIE
  • INPUT_ENV
  • INPUT_SERVER
  • INPUT_SESSION (Не реализовано)
  • INPUT_REQUEST (Не реализовано)

Если успешно, возвращает отфильтрованные данные, если не успешно, возвращает false.

Синтаксис

filter_input(input_type, args)
Параметр Описание
input_type Обязателен. Определяет тип ввода. См. список возможных типов выше.
args

Опционально. Определяет массив параметров фильтра.

Допустимые ключи массива - имена переменных. Допустимые значения - идентификатор фильтра или массив, определяющий фильтр, флаги и параметры.

Этот параметр также может быть отдельным идентификатором фильтра. Если это так, все значения в массиве фильтруются указанным фильтром.

Советы и замечания

Совет:См.Полное руководство по PHP Filter,посмотрите на фильтры, которые можно использовать вместе с этой функцией.

Пример

В этом примере мы используем функцию filter_input_array() для фильтрации трех переменных POST. Принимаемые переменные POST - имя, возраст и адрес электронной почты:

<?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));
?>

Вывод类似:

Массив
 (
 [name] => Peter
 [age] => 41
 [email] => peter@example.com
 )