指定した名前の変数を外部から受け取り、オプションでそれをフィルタリングする

# 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`
  オプションの連想配列。 または、フラグ定数 `FILTER_FLAG_*` を指定したビットマスク。 `filter` がオプションを受け入れる場合、 フラグは配列の `"flags"` フィールドを使って指定できます。

### 戻り値

成功した場合はリクエストされた変数の値、 フィルタが失敗した場合は `false`、 `var_name` 変数が設定されていない場合は `null` を返します。 `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 "You have searched for $search_html.\n";
    echo "<a href='?search=$search_url'>Search again.</a>";
    ?>

上の例の出力は、 たとえば以下のようになります。

    You have searched for Me &#38; son.
    <a href='?search=Me%20%26%20son'>Search again.</a>

### 参考

- filter_input_array() - 外部から変数を受け取り、オプションでそれらをフィルタリングする
- filter_var() - 指定したフィルタでデータをフィルタリングする
- filter_var_array() - 複数の変数を受け取り、オプションでそれらをフィルタリングする
- 検証フィルタ `FILTER_VALIDATE_*`
- 除去フィルタ `FILTER_SANITIZE_*`

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