<?php
$filters = array
(
"name" => array
(
"filter"=>FILTER_SANITIZE_STRING
),
"age" => array
(
"filter"=>FILTER_VALIDATE_INT,
"options"=>array
(
"min_range"=>1,
"max_range"=>120
)
),
"email"=> FILTER_VALIDATE_EMAIL,
);
$result = filter_input_array(INPUT_GET, $filters);
if (!$result["age"])
{
echo("Age must be a number between 1 and 120.<br />");
}
elseif(!$result["email"])
{
echo("E-Mail is not valid.<br />");
}
else
{
echo("User input is valid");
}
?>
上面的例子有三个通过 "GET" 方法传送的输入变量 (name, age and email)
- 设置一个数组,其中包含了输入变量的名称,以及用于指定的输入变量的过滤器
- 调用 filter_input_array 函数,参数包括 GET 输入变量及刚才设置的数组
- 检测 $result 变量中的 "age" 和 "email" 变量是否有非法的输入。(如果存在非法输入,)
filter_input_array() 函数的第二个参数可以是数组或单一过滤器的 ID。
如果该参数是单一过滤器的 ID,那么这个指定的过滤器会过滤输入数组中所有的值。
如果该参数是一个数组,那么此数组必须遵循下面的规则:
- 必须是一个关联数组,其中包含的输入变量是数组的键(比如 "age" 输入变量)
- 此数组的值必须是过滤器的 ID ,或者是规定了过滤器、标志以及选项的数组