(PHP 5 >= 5.2.0, PHP 7)
filter_input_array — Принимает несколько переменных извне PHP и, при необходимости, фильтрует их
Эта функция полезна для получения множества переменных без многократного вызова функции filter_input().
type
       Один из INPUT_GET, INPUT_POST,
       INPUT_COOKIE, INPUT_SERVER или
       INPUT_ENV.
      
definitionМассив, определяющий аргументы. Допустимый ключ - строка string, содержащая имя переменной, и допустимое значение - или тип filter, или массив array, при необходимости определяющий фильтр, флаги и параметры. Если значение является массивом, допустимыми ключами являются filter, который определяет (тип фильтра ), flags, который определяет любые флаги, применяемые к фильтру и options, который определяет любые параметры, применяемые к фильтру. См. пример ниже для лучшего понимания.
Этот параметр также может быть целым числом, содержащим предопределенную фильтровую константу. Затем все значения во входном массиве фильтруются этим фильтром.
add_empty
       Добавляет в результат отсутствующие ключи со значением NULL.
      
   Массив, содержащий значения запрошенных переменных в случае успеха, или 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"]=>
    string(17) "libgd%3Cscript%3E"
  ["component"]=>
  array(1) {
    [0]=>
    int(10)
  }
  ["versions"]=>
    string(6) "2.0.33"
  ["doesnotexist"]=>
  NULL
  ["testscalar"]=>
  bool(false)
  ["testarray"]=>
  array(1) {
    [0]=>
    int(2)
  }
}
| Версия | Описание | 
|---|---|
| 5.4.0 | 
        Добавлен параметр add_empty.
        | 
      
Замечание:
В массиве
INPUT_SERVERнет ключа REQUEST_TIME, потому что он будет позднее в $_SERVER.