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

filter_input_array

(PHP 5 >= 5.2.0, PHP 7)

filter_input_array - 获取外部变量并可选择对其进行过滤

描述

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

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

上面的例子将输出:

代码语言: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参数。

注释

注意:数组中没有REQUEST_TIME键,INPUT_SERVER因为它稍后会插入到$ _SERVER中。

← filter_id

filter_input →

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com