PHP filter_input_array() 関数

定義と使用法

filter_input_array() 関数は、スクリプト外部から複数の入力を取得し、フィルタリングします。

この関数は、filter_input() を繰り返し呼び出す必要がなく、複数の入力変数をフィルタリングするのに非常に役立ちます。

この関数は、さまざまなソースから入力を取得できます:

  • INPUT_GET
  • INPUT_POST
  • INPUT_COOKIE
  • INPUT_ENV
  • INPUT_SERVER
  • INPUT_SESSION (未実装)
  • INPUT_REQUEST (未実装)

成功した場合、フィルタリングされたデータを返します。失敗した場合、false を返します。

文法

filter_input(input_type, args)
パラメータ 説明
input_type 必要です。入力タイプを指定します。上記のリストで可能なタイプを参照してください。
args

オプション。フィルタパラメータの配列を指定します。

合法な配列のキーは変数名です。合法な値はフィルタ ID またはフィルタ、フラグ、オプションを定義する配列です。

このパラメータはまた、単一のフィルタ ID としても使用できます。そうである場合、入力配列のすべての値は指定されたフィルタでフィルタリングされます。

ヒントおよびコメント

ヒント:参照完全な PHP Filter リファレンスマニュアル、この関数と一緒に使用できるフィルタを確認してください。

この例では、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));
?>

出力例:

配列
 (
 [name] => Peter
 [age] => 41
 [email] => peter@example.com
 )