在线文档教程

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_FAILUREFALSE如果该变量未被设置并且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 →