filter_input_array
(PHP 5 >= 5.2.0) filter_input_array — Принимает несколько переменных извне PHP и, при необходимости, фильтрует их
Описание
mixed filter_input_array
( int $type
[, mixed $definition
] )
Список параметров
-
type
-
Один из INPUT_GET, INPUT_POST,
INPUT_COOKIE, INPUT_SERVER,
INPUT_ENV, INPUT_SESSION, или
INPUT_REQUEST.
-
definition
-
Массив, определяющий аргументы. Допустимый ключ - строка string,
содержащая имя переменной, и допустимое значение - или тип фильтра,
или массив array, при необходимости определяющий фильтр, флаги и
параметры. Если значение является массивом, допустимыми ключами являются
filter, который определяет тип фильтра,
flags, который определяет любые флаги, применяемые к
фильтру и options, который определяет любые параметры,
применяемые к фильтру. См. пример ниже для лучшего понимания.
Этот параметр также может быть целым числом, содержащим предопределенную фильтровую константу. Затем все значения во
входном массиве фильтруются этим фильтром.
Возвращаемые значения
Массив, содержащий значения запрошенных переменных в случае успеха, или FALSE
в случае возникновения ошибки. Значение массива будет FALSE, если фильтрация завершилась неудачей, или NULL,
если переменная не определена. Либо, если установлен флаг FILTER_NULL_ON_FAILURE,
возвращается FALSE, если переменная не определена и NULL, если фильтрация завершилась неудачей.
Примеры
Пример #1 Пример использования filter_input_array()
<?php 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)
}
}
Смотрите также
- filter_input() - Принимает переменную извне PHP и, при необходимости, фильтрует ее
- filter_var_array() - Принимает несколько переменных и, при необходимости, фильтрует их
|
|