filter_input_array()

1. 定义

该函数通过检查指定类型中存在的一系列变量,并使用特定过滤器处理该系列变量。 成功时返回所请求的变量的数组,过滤失败则返回FALSE,变量不存在则返回FALSE。

2. 语法

filter_input_array ( int $type [, mixed $definition [, bool $add_empty = true ]] ) : mixed

3. 参数说明

参数 可选性 数据类型 描述
$type 必需 整型 指定类型
$definition 可选 mixed 定义参数的数组,每个键值对的键名为待过滤数据的标识,键值要么是一个过滤类型,要么是一个包含了过滤器、标识和选项的数组。也可以是一个filter_constant整数
$add_empty 可选 布尔值 是否在返回值中添加NULL作为不存在的键,默认为TRUE

4. 示例

首先准备一个名为filter_input_array.html的文件,并添加如下代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>filter_input_array()函数</title>
</head>
<body>
    <form action="./filter_input_array.php" method="get">
        <label for="name">请输入姓名:<input type="text" name="name" id=""></label><br>
        <label for="pwd">请输入密码:<input type="password" name="pwd" id=""></label><br>
        <label for="email">请输入邮箱:<input type="email" name="email" id=""></label><br>
        <input type="submit" value="Submit">
    </form>
</body>
</html>

然后在同级目录下建立文件filter_input_array.php,并键入如下内容,最后填写filter_input_array.html文件中的表单,提交并查看结果。

<?php

// filter_input_array()
// 通过检查指定类型中存在的一系列变量,并使用特定过滤器处理该系列变量

$definition = [
    'text'=>[
        'filter'=>FILTER_UNSAFE_RAW
    ],// 该变量不存在
    'pwd'=>[
        'filter'=>FILTER_SANITIZE_URL
    ],
    'email'=>[
        'filter'=>FILTER_SANITIZE_EMAIL
    ]
];
$res = filter_input_array(INPUT_GET, $definition);
var_dump($res);
/* 类似输出:
array(3) {
  ["text"]=>
  NULL
  ["pwd"]=>
  string(18) "jisuapi.com.cn2019"
  ["email"]=>
  string(20) "data@jisuapi.commmmm"
}
 */

5. 延展阅读

  • filter_input():通过检查指定类型中是否存在指定变量,并使用特定过滤器处理该变量
  • filter_var_array():以数组形式过滤多个变量,成功时返回包含所请求变量的数组,过滤失败则返回FALSE,变量不存在则返回NULL