filter_input_array() 関数は、スクリプトの外部から複数の入力 (フォーム入力など) を受け取り、それらをフィルターします。
この関数は、filter_input() を繰り返し呼び出さずに複数の入力変数をフィルタリングする場合に便利です。
この関数はさまざまなソースから入力を受け取ることができます。
INPUT_GET
INPUT_POST
INPUT_COOKIE
入力_ENV
入力サーバー
INPUT_SESSION (まだ実装されていません)
INPUT_REQUEST (未実装)
成功すると、フィルタリングされたデータが配列として返されます。失敗した場合は FALSE を返します。
filter_input_array(input_type, filter_args)
パラメータ | 説明する |
---|---|
入力タイプ | 必須。入力タイプを指定します。上記の可能なタイプのリストを参照してください。 |
フィルター引数 | オプション。フィルターパラメーターの配列を指定します。有効な配列キーは変数名であり、有効な値はフィルター ID、またはフィルター、フラグ、オプションを指定する配列です。 このパラメータには単一のフィルタ ID を指定することもできます。その場合、入力配列内のすべての値が指定されたフィルタによってフィルタリングされます。 フィルター ID には、ID 名 (FILTER_VALIDATE_EMAIL など) または ID 番号 (274 など) を指定できます。 |
ヒント:この関数で使用できるフィルターについては、完全な PHP フィルター リファレンス マニュアルを参照してください。
この例では、filter_input_array() 関数を使用して 3 つの POST 変数をフィルタリングします。受信する POST 変数は、名前、年齢、電子メール アドレスです。
<?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));?>
コードの出力は次のようになります。
配列 ( [名前] => ピーター [年齢] => 41 [メール] => [email protected] )