PHP_Filter过滤多个输入

来源:互联网 发布:java 合并两个list 编辑:程序博客网 时间:2024/05/22 03:03
<?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)

  1. 设置一个数组,其中包含了输入变量的名称,以及用于指定的输入变量的过滤器
  2. 调用 filter_input_array 函数,参数包括 GET 输入变量及刚才设置的数组
  3. 检测 $result 变量中的 "age" 和 "email" 变量是否有非法的输入。(如果存在非法输入,)

filter_input_array() 函数的第二个参数可以是数组或单一过滤器的 ID。

如果该参数是单一过滤器的 ID,那么这个指定的过滤器会过滤输入数组中所有的值。

如果该参数是一个数组,那么此数组必须遵循下面的规则:

  • 必须是一个关联数组,其中包含的输入变量是数组的键(比如 "age" 输入变量)
  • 此数组的值必须是过滤器的 ID ,或者是规定了过滤器、标志以及选项的数组 

0 0
原创粉丝点击