Функция 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 )