PHP filter_var_array() 函数

定义和用法

filter_var_array() 函数获取多项变量,并进行过滤。

由于无需重复调用 filter_input(),因此本函数对过滤多个变量很有用。

如果成功,则返回包含被过滤的变量值的数组,如果失败,则返回 false。

语法

  1. filter_var_array(array, args)
参数 描述
array 必需。规定带有字符串键的数组,包含要过滤的数据。
args 可选。规定过滤器参数数组。 合法的数组键是变量名。合法的值是过滤器 ID,或者规定过滤器、标志以及选项的数组。 该参数也可以是一个单独的过滤器 ID,如果是这样,输入数组中的所有值由指定过滤器进行过滤。

提示和注释

提示:参见完整的 PHP Filter 参考手册,查看可与该函数一同使用的过滤器。

例子

  1. <?php
  2. $arr = array
  3. (
  4. "name" => "peter griffin",
  5. "age" => "41",
  6. "email" => "peter@example.com",
  7. );
  8.  
  9. $filters = array
  10. (
  11. "name" => array
  12. (
  13. "filter"=>FILTER_CALLBACK,
  14. "flags"=>FILTER_FORCE_ARRAY,
  15. "options"=>"ucwords"
  16. ),
  17. "age" => array
  18. (
  19. "filter"=>FILTER_VALIDATE_INT,
  20. "options"=>array
  21. (
  22. "min_range"=>1,
  23. "max_range"=>120
  24. )
  25. ),
  26. "email"=> FILTER_VALIDATE_EMAIL,
  27. );
  28.  
  29. print_r(filter_var_array($arr, $filters));
  30. ?>

输出类似:

  1. Array
  2. (
  3. [name] => Peter Griffin
  4. [age] => 41
  5. [email] => peter@example.com
  6. )