filter_var_array() 函数获取多项变量,并进行过滤。
由于无需重复调用 filter_input(),因此本函数对过滤多个变量很有用。
如果成功,则返回包含被过滤的变量值的数组,如果失败,则返回 false。
filter_var_array(array, args)
参数 | 描述 |
---|---|
array | 必需。规定带有字符串键的数组,包含要过滤的数据。 |
args |
可选。规定过滤器参数数组。 合法的数组键是变量名。合法的值是过滤器 ID,或者规定过滤器、标志以及选项的数组。 该参数也可以是一个单独的过滤器 ID,如果是这样,输入数组中的所有值由指定过滤器进行过滤。 |
提示:参见完整的 PHP Filter 参考手册,查看可与该函数一同使用的过滤器。
<?php
$arr = array
(
"name" => "peter griffin",
"age" => "41",
"email" => "peter@example.com",
);
$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_var_array($arr, $filters)
);
?>
输出类似:
Array ( [name] => Peter Griffin [age] => 41 [email] => peter@example.com )