php 过滤变量,获取多个变量并且过滤它们 - PHP 7 中文文档

(PHP 5 >= 5.2.0, PHP 7)

filter_var_array – 获取多个变量并且过滤它们

说明

filter_var_array

( array $data

[, [mixed](php7/language.pseudo-types) $definition

[, bool $add_empty = true

]] ) : [mixed](php7/language.pseudo-types)

不需要重复调用 [filter_var()](php7/function.filter-var) 就能获取多个变量。

参数

data

数组,键为字符串,值为待过滤的数据。

definition

一个定义参数的数组。一个有效的键必须是一个包含变量名的[string](php7/language.types.string),一个有效的值要么是一个[filter type](php7/filter.filters),或者是一个[array](php7/language.types.array)

指明了过滤器、标示和选项。如果值是一个数组,那么它的有效的键可以是 filter,

用于指明 [filter type](php7/filter.filters),flags

用于指明任何想要用于过滤器的标示,或者 options 用于指明任何想要用于过滤器的选项。

参考下面的例子来更好的理解这段说明。

这个参数也可以是一个[filter constant](php7/filter.constants)的整数。那么数组中的所有值都会被这个过滤器所过滤。

add_empty

在返回值中添加 NULL 作为不存在的键。

返回值

如果成功则返回一个包含所请求变量的数组,或者当失败时返回 FALSE 。

一个数组的值如果过滤失败则为 FALSE ,或者为 NULL 如果变量不存在的话。

范例

Example #1 一个 filter_var_array() 的例子

error_reporting(E_ALL | E_STRICT);

$data = array(

'product_id' => 'libgd

'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_input_array()](php7/function.filter-input-array) – 获取一系列外部变量,并且可以通过过滤器处理它们

[filter_var()](php7/function.filter-var) – 使用特定的过滤器过滤一个变量

[filter_input()](php7/function.filter-input) – 通过名称获取特定的外部变量,并且可以通过过滤器处理它

[Types of filters](php7/filter.filters)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值