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

# filter_input

(PHP 5 >= 5.2.0, PHP 7)

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

### 説明

filter_input ( int `$type` , string `$variable_name` [, int `$filter` = FILTER_DEFAULT [, mixed `$options` ]] ) : mixed

### パラメータ

`type`

  `INPUT_GET`、`INPUT_POST`、 `INPUT_COOKIE`、`INPUT_SERVER` あるいは `INPUT_ENV` のいずれか。

`variable_name`

  取得する変数の名前。

`filter`

  適用するフィルタの ID。フィルタの型 に、利用できるフィルタの一覧があります。

  省略した場合は `FILTER_DEFAULT` を使います。これは `FILTER_UNSAFE_RAW` と同等です。 結果的に、デフォルトでは何もフィルタリングをしません。

`options`

  オプションあるいはフラグの論理和の連想配列。 オプションを指定可能なフィルタの場合、この配列の "flags" フィールドにフラグを指定します。

### 返り値

成功した場合は要求された変数の値、フィルタリングに失敗した場合に `FALSE`、 あるいは変数 `variable_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_var() - 指定したフィルタでデータをフィルタリングする
- filter_input_array() - 外部から変数を受け取り、オプションでそれらをフィルタリングする
- filter_var_array() - 複数の変数を受け取り、オプションでそれらをフィルタリングする
- フィルタの型