函式名:filter_input_array()
適用版本:PHP 5 >= 5.2.0, PHP 7
用法:filter_input_array() 函式用於從輸入陣列中獲取多個輸入變數,並根據指定的過濾器對它們進行過濾。
語法:filter_input_array(int $type, array|null $definition = null, bool $add_empty = true)
引數:
- $type:輸入型別,可以是 INPUT_GET、INPUT_POST、INPUT_COOKIE、INPUT_SERVER 或 INPUT_ENV。
- $definition:定義輸入變數的過濾器規則。可以是一個過濾器型別的陣列或一個過濾器型別常量。
- $add_empty:如果為 true(預設值),則空陣列元素將被視為有效值。
返回值:返回一個包含過濾後的輸入變數的陣列,如果失敗則返回 FALSE。
示例:
// 定義過濾規則
$filters = array(
'name' => FILTER_SANITIZE_STRING,
'age' => FILTER_VALIDATE_INT,
'email' => FILTER_VALIDATE_EMAIL
);
// 從 POST 陣列中獲取輸入變數並進行過濾
$input = filter_input_array(INPUT_POST, $filters);
// 檢查是否過濾成功
if ($input !== false) {
// 輸出過濾後的結果
echo 'Name: ' . $input['name'] . '<br>';
echo 'Age: ' . $input['age'] . '<br>';
echo 'Email: ' . $input['email'] . '<br>';
} else {
echo '過濾失敗';
}
上述示例中,我們定義了一個包含三個輸入變數的過濾規則陣列。然後,使用 filter_input_array() 函式從 POST 陣列中獲取輸入變數,並對其進行過濾。如果過濾成功,我們輸出過濾後的結果,否則輸出“過濾失敗”。