filter_var_array 通过相同的或不同的过滤器来过滤多个变量
语法
filter_var_array ( array $data [, mixed $definition [, bool $add_empty = true ]] ) : mixed
data
数组,键为字符串,值为待过滤的数据。
definition
一个定义参数的数组。一个有效的键必须是一个包含变量名的string,一个有效的值要么是一个filter type,或者是一个array 指明了过滤器、标示和选项。如果值是一个数组,那么它的有效的键可以是 filter, 用于指明 filter type,flags 用于指明任何想要用于过滤器的标示,或者 options 用于指明任何想要用于过滤器的选项。 参考下面的例子来更好的理解这段说明。
这个参数也可以是一个filter constant的整数。那么数组中的所有值都会被这个过滤器所过滤。
add_empty
在返回值中添加 NULL 作为不存在的键。
简单用法
$data = [
'product_id' => 'libgd',
'component' => '10',
'versions' => '2.0.33',
'testscalar' => ['2','23','10','12'],
'testarray' => '2',
];
$args = [
'product_id' => FILTER_SANITIZE_ENCODED,
'component' => [
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_FORCE_ARRAY,
'options' => ['min_range' => 1,'max_range' => 10],
],
'versions' => FILTER_SANITIZE_ENCODED,
'doesnotexist' => FILTER_VALIDATE_INT,
'testscalar' => [
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_REQUIRE_SCALAR,
],
'testarray' => [
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_FORCE_ARRAY,
],
];
$myinputs = filter_var_array($data,$args);