filter_input_array
filter_input_array
(PHP 5 >= 5.2.0, PHP 7)
filter_input_array - 获取外部变量并可选择对其进行过滤
描述
mixed filter_input_array ( int $type [, mixed $definition [, bool $add_empty = true ]] )
这个函数在不重复调用filter_input()的情况下检索多个值很有用。
参数
type
One of INPUT_GET
, INPUT_POST
, INPUT_COOKIE
, INPUT_SERVER
, or INPUT_ENV
.
definition
一个定义参数的数组。有效的键是一个包含变量名的字符串,而有效值可以是过滤器
类型,也可以是可选择
指定过滤器
,标志和选项的数组。如果该值是数组,有效密钥是过滤器
用于指定过滤器
类型,标记
它指定了适用于过滤器
的任何标志,和选择
其指定了适用于过滤器
的任何选项。请参阅下面的示例以获得更好的理解。
该参数也可以是一个保存过滤器常量的整数。然后输入数组中的所有值都由此过滤器过滤。
add_empty
NULL
针对返回值添加缺少的键。
返回值
一个数组,包含成功或FALSE
失败时请求的变量的值。FALSE
如果过滤器失败,或者NULL
未设置变量,那么数组值将会是。或者如果使用该标志FILTER_NULL_ON_FAILURE
,FALSE
如果该变量未被设置并且NULL
该过滤器失败,则返回该标志。
例子
Example #1 A filter
_
input
_
array() example
<?php
error_reporting(E_ALL | E_STRICT
/* data actually came from POST
$_POST = 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_REQUIRE_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_REQUIRE_ARRAY,
)
$myinputs = filter_input_array(INPUT_POST, $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参数。 |
注释
注意
:数组中没有REQUEST_TIME
键,INPUT_SERVER
因为它稍后会插入到$ _SERVER中。
← filter_id
filter_input →