filter_var_array
(PHP 5 >= 5.2.0, PHP 7)
filter_var_array - 获取多个变量并可选择对其进行过滤
描述
mixed filter_var_array ( array $data [, mixed $definition [, bool $add_empty = true ]] )
此函数对于检索多个值而不重复调用filter_var()非常有用。
参数
data
带有包含要过滤的数据的字符串键的数组。
definition
该参数也可以是一个保存过滤器常量的整数。然后输入数组中的所有值都由此过滤器过滤。
add_empty
NULL
针对返回值添加缺少的键。
返回值
一个数组,包含成功或FALSE
失败时请求的变量的值。FALSE
如果过滤器失败,或者NULL
未设置变量,那么数组值将会是。
例子
Example #1 A filter_var_array() example
<?php
error_reporting(E_ALL?|?E_STRICT);
$data?=?array(
????'product_id'????=>?'libgd<script>',
????'component'?????=>?'10',
????'versions'??????=>?'2.0.33',
????'testscalar'????=>?array('2',?'23',?'10',?'12'),
????'testarray'?????=>?'2',
);
$args?=?array(
????'product_id'???=>?FILTER_SANITIZE_ENCODED,
????'component'????=>?array('filter'????=>?FILTER_VALIDATE_INT,
????????????????????????????'flags'?????=>?FILTER_FORCE_ARRAY,?
????????????????????????????'options'???=>?array('min_range'?=>?1,?'max_range'?=>?10)
???????????????????????????),
????'versions'?????=>?FILTER_SANITIZE_ENCODED,
????'doesnotexist'?=>?FILTER_VALIDATE_INT,
????'testscalar'???=>?array(
????????????????????????????'filter'?=>?FILTER_VALIDATE_INT,
????????????????????????????'flags'??=>?FILTER_REQUIRE_SCALAR,
???????????????????????????),
????'testarray'????=>?array(
????????????????????????????'filter'?=>?FILTER_VALIDATE_INT,
????????????????????????????'flags'??=>?FILTER_FORCE_ARRAY,
???????????????????????????)
);
$myinputs?=?filter_var_array($data,?$args);
var_dump($myinputs);
echo?"\n";
?>
上面的例子将输出:
array(6) {
["product_id"]=>
string(17) "libgd%3Cscript%3E"
["component"]=>
array(1) {
[0]=>
int(10)
}
["versions"]=>
string(6) "2.0.33"
["doesnotexist"]=>
NULL
["testscalar"]=>
bool(false)
["testarray"]=>
array(1) {
[0]=>
int(2)
}
}
更新日志
版 | 描述 |
---|---|
5.4.0 | 增加了add_empty参数。 |
← filter_list
filter_var →
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com