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] => [email protected] )