Получает конкретную внешнюю переменную по имени и, если нужно, фильтрует значение переменной

# filter_input

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

filter_input — Получает конкретную внешнюю переменную по имени и, если нужно, фильтрует значение переменной

### Описание

function filter_input(
int `$type`,
string `$var_name`,
int `$filter` = `FILTER_DEFAULT`,
array|int `$options` = 0
): mixed

### Список параметров

`type`
  Одна из констант `INPUT_*`.
  Внимание

  Содержимое фильтруемых суперглобальных переменных – это исходное «сырое» содержимое, предоставленное SAPI, до внесения пользователем каких-либо изменений в суперглобальные переменные. Для фильтрации изменённого суперглобального содержимого используйте функцию filter_var().

`var_name`
  Имя переменной для фильтрации внутри соответствующего типа (`type`) суперглобальных переменных.
`filter`
  Фильтр, который необходимо применить. Может быть фильтром проверки с помощью одной из констант `FILTER_VALIDATE_*`, фильтром очистки с помощью одной из констант `FILTER_SANITIZE_*`, `FILTER_UNSAFE_RAW` или пользовательским фильтром с помощью константы `FILTER_CALLBACK`.

  > Замечание: По умолчанию используется `FILTER_DEFAULT`, который является псевдонимом `FILTER_UNSAFE_RAW`. В результате по умолчанию фильтрация не производится.

`options`
  Либо ассоциативный массив (array) опций, либо битовая маска констант флагов фильтра `FILTER_FLAG_*`. Если параметр `filter` принимает опции, флаги могут быть предоставлены с помощью значения массива `"flags"`.

### Возвращаемые значения

В случае успешного выполнения функция возвращает значение запрошенной переменной, значение `false`, если фильтр не пропустил значение, или значение `null`, если переменная `var_name` не установлена. Если задан флаг `FILTER_NULL_ON_FAILURE`, функция возвращает значение `false`, когда переменная не установлена, и значение `null`, когда фильтр не пропустил значение.

### Примеры

Пример #1 Пример использования функции filter_input()

    <?php

    $search_html = filter_input(INPUT_GET, 'search', FILTER_SANITIZE_SPECIAL_CHARS);
    $search_url = filter_input(INPUT_GET, 'search', FILTER_SANITIZE_ENCODED);
    echo "Вы искали $search_html.\n";
    echo "<a href='?search=$search_url'>Искать снова.</a>";

    ?>

Вывод приведённого примера будет похож на:

    Вы искали Me &#38; son.
    <a href='?search=Me%20%26%20son'>Искать снова.</a>

### Смотрите также

- filter_input_array() - Получает несколько переменных извне PHP и, при необходимости, фильтрует их
- filter_var() - Фильтрует переменную
- filter_var_array() - Принимает несколько переменных и, при необходимости, фильтрует их
- Фильтры проверки: `FILTER_VALIDATE_*`
- Фильтры очистки: `FILTER_SANITIZE_*`

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open