Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
filter_input_array
(PHP 5 >= 5.2.0)
filter_input_array — Принимает несколько переменных извне PHP и, при необходимости, фильтрует их
Описание
mixed filter_input_array ( int $type [, mixed $definition ] )Эта функция полезна для получения множества переменных без многократного вызова функции filter_input().
Список параметров
type -
Один из INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER или INPUT_ENV.
definition -
Массив, определяющий аргументы. Допустимый ключ - строка string, содержащая имя переменной, и допустимое значение - или тип filter, или массив array, при необходимости определяющий фильтр, флаги и параметры. Если значение является массивом, допустимыми ключами являются filter, который определяет (тип фильтра ), flags, который определяет любые флаги, применяемые к фильтру и options, который определяет любые параметры, применяемые к фильтру. См. пример ниже для лучшего понимания.
Этот параметр также может быть целым числом, содержащим предопределенную фильтровую константу. Затем все значения во входном массиве фильтруются этим фильтром.
Возвращаемые значения
Массив, содержащий значения запрошенных переменных в случае успеха, или FALSE в случае возникновения ошибки. Значение массива будет FALSE, если фильтрация завершилась неудачей, или NULL, если переменная не определена. Либо, если установлен флаг FILTER_NULL_ON_FAILURE, возвращается FALSE, если переменная не определена и NULL, если фильтрация завершилась неудачей.
Примеры
Пример #1 Пример использования filter_input_array()
error_reporting(E_ALL | E_STRICT);
/* данные, полученные методом POST
$_POST = array(
'product_id' => 'libgd<script>',
'component' => '10',
'versions' => '2.0.33',
'testscalar' => array('2', '23', '10', '12'),
'testarray' => '2',
);
*/
$args = array(
'product_id' => FILTER_SANITIZE_ENCODED,
'component' => array('filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_REQUIRE_ARRAY,
'options' => array('min_range' => 1, 'max_range' => 10)
),
'versions' => FILTER_SANITIZE_ENCODED,
'doesnotexist' => FILTER_VALIDATE_INT,
'testscalar' => array(
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_REQUIRE_SCALAR,
),
'testarray' => array(
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_REQUIRE_ARRAY,
)
);
$myinputs = filter_input_array(INPUT_POST, $args);
var_dump($myinputs);
echo "\n";
Результат выполнения данного примера:
array(6) { ["product_id"]=> array(1) { [0]=> string(17) "libgd%3Cscript%3E" } ["component"]=> array(1) { [0]=> int(10) } ["versions"]=> array(1) { [0]=> string(6) "2.0.33" } ["doesnotexist"]=> NULL ["testscalar"]=> bool(false) ["testarray"]=> array(1) { [0]=> int(2) } }
Примечания
Замечание:
В массиве INPUT_SERVER нет ключа REQUEST_TIME, потому что он будет позднее в $_SERVER.
Смотрите также
- filter_input() - Принимает переменную извне PHP и, при необходимости, фильтрует ее
- filter_var_array() - Принимает несколько переменных и, при необходимости, фильтрует их
- Константы filters
Описание на ru2.php.net
Описание на php.ru