首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

filter_var_array

(PHP 5 >= 5.2.0, PHP 7)

filter_var_array - 获取多个变量并可选择对其进行过滤

描述

代码语言:javascript
复制
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

代码语言:javascript
复制
<?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";
?>

上面的例子将输出:

代码语言:javascript
复制
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 →

扫码关注腾讯云开发者

领取腾讯云代金券