PHP filter_input_array() 函数
定义和用法
filter_input_array() 函数从脚本外部获取多项输入,并进行过滤。
本函数无需重复调用 filter_input(),对过滤多个输入变量很有用。
本函数可从各种来源获取输入:
- INPUT_GET
- INPUT_POST
- INPUT_COOKIE
- INPUT_ENV
- INPUT_SERVER
- INPUT_SESSION (Not yet implemented)
- INPUT_REQUEST (Not yet implemented)
如果成功,则返回被过滤的数据,如果失败,则返回 false。
语法
- filter_input(input_type, args)
参数 | 描述 |
---|---|
input_type | 必需。规定输入类型。参见上面的列表中可能的类型。 |
args | 可选。规定过滤器参数数组。 合法的数组键是变量名。合法的值是过滤器 ID,或者规定过滤器、标志以及选项的数组。 该参数也可以是一个单独的过滤器 ID,如果是这样,输入数组中的所有值由指定过滤器进行过滤。 |
提示和注释
提示:参见完整的 PHP Filter 参考手册,查看可与该函数一同使用的过滤器。
例子
在本例中,我们使用 filter_input_array() 函数来过滤三个 POST 变量。所接受的 POST 变量是姓名、年龄以及电子邮件地址:
- <?php
- $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_input_array(INPUT_POST, $filters)
);- ?>
输出类似:
- Array
- (
- [name] => Peter
- [age] => 41
- [email] => peter@example.com
- )