filter_input_array() 関数は、外部(例えばフォーム入力からの)変数を取得し、必要に応じてそれらをフィルタリングします。
この関数は、filter_input()を繰り返し呼び出すのではなく、多くの値を取得/フィルタリングするのに便利です。
filter_input_array(type, definition, add_empty)
パラメータ | 説明 |
---|---|
type | 必須。チェックする入力タイプ。 次のいずれかを使用できる:
|
definition | 任意。フィルタ引数の配列を指定する。妥当な配列キーは変数名で、妥当な値はフィルタ名かID、またはフィルタ、フラグ、オプションを指定する配列。 このパラメータは、単一のフィルタ名/IDにできる。 この場合、入力配列内のすべての値は、指定したフィルタによってフィルタリングされる |
add_empty | 任意。ブール値。TRUE に設定した場合、存在しないキーは返り値にNULLとして追加される。デフォルト値はTRUE |
返り値: |
成功した場合は変数の値を含む配列を返し、失敗した場合はFALSEを返します |
---|---|
PHP バージョン: | 5.2.0+ |
この例では、filter_input_array()関数を使用して3つのPOST変数をフィルタリングします。 受信したPOST変数は、 name、 age、e-mail アドレスです:
<?php
$filters = array
(
"name" => array
(
"filter"=>FILTER_CALLBACK,
"flags"=>FILTER_FORCE_ARRAY,
"options"=>"ucwords"
),
"age" => array
(
"filter"=>FILTER_VALIDATE_INT,
"options"=>array
(
"min_range"=>1,
"max_range"=>120
)
),
"email"=> FILTER_VALIDATE_EMAIL,
);
print_r(filter_input_array(INPUT_POST, $filters));
?>
コードの出力は次の通りです:
Array
(
[name] => Peter
[age] => 41
[email] => peter@example.com
)