PHP filter_input_array() 函數


PHP Filter 參考手冊 完整的 PHP Filter 參考手冊

定義和用法

filter_input_array() 函數從腳本外部獲取多項輸入(比如表單輸入),並進行過濾。

該函數對過濾多個輸入變數很有用,無需重複調用 filter_input()。

該函數可從各種來源獲取輸入:

  • INPUT_GET
  • INPUT_POST
  • INPUT_COOKIE
  • INPUT_ENV
  • INPUT_SERVER
  • INPUT_SESSION(尚未推行)
  • INPUT_REQUEST(尚未推行)

如果成功,則以數組形式返回被過濾的數據。如果失敗,則返回 FALSE。

語法

filter_input_array(input_type, filter_args)

參數 描述
input_type 必需。規定輸入類型。參見上面的列表中可能的類型。
filter_args 可選。規定篩檢程式參數數組。合法的數組鍵名是變數名,合法的值是篩檢程式 ID,或者規定篩檢程式、標誌以及選項的數組。

該參數也可以是一個單一的篩檢程式 ID,如果是這樣,輸入數組中的所有值由指定篩檢程式進行過濾。

篩檢程式 ID 可以是 ID 名稱(比如 FILTER_VALIDATE_EMAIL)或 ID 號(比如 274)。



提示和注釋

提示:參見 完整的 PHP Filter 參考手冊,查看可與該函數一同使用的篩檢程式。


實例

在本例中,我們使用 filter_input_array() 函數來過濾三個 POST 變數。所接收的 POST 變數是姓名、年齡以及 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
)


PHP Filter 參考手冊 完整的 PHP Filter 參考手冊