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_input_array() 함수를 사용하여 세 개의 POST 변수를 필터링합니다. 받아들이는 POST 변수는 이름, 연령 및 이메일 주소입니다:

<?php
$filters = array
 (
 "이름" => array
  (
  "filter"=>FILTER_CALLBACK,
  "flags"=>FILTER_FORCE_ARRAY,
  "options"=>"ucwords"
  ),
 "연령" => array
  (
  "filter"=>FILTER_VALIDATE_INT,
  "options"=>array
   (
   "min_range"=>1,
   "max_range"=>120
   )
  ),
 "이메일"=> FILTER_VALIDATE_EMAIL,
 );
print_r(filter_input_array(INPUT_POST, $filters));
?>

출력 예제:

Array
 (
 [이름] => Peter
 [연령] => 41
 [이메일] => peter@example.com
 )