📜  PHP | filter_input_array()函数

📅  最后修改于: 2022-05-13 01:54:11.429000             🧑  作者: Mango

PHP | filter_input_array()函数

filter_input_array()函数是PHP的一个内置函数,用于获取外部变量(例如从表单输入)并在指定时对其进行过滤。此函数类似于 filter_input()函数,但唯一的区别是 filter_input() 过滤单个值,但在 filter_input_array() 中根据提供的选项过滤整个数组。它对于检索/过滤许多值而不是多次调用 filter_input() 很有用。这是PHP中的新功能,仅适用于PHP 5.2 或更高版本的PHP。

句法:

mixed filter_input_array( $type_of_data, $definition, $add_empty_parameter )

参数:该函数接受上面提到和下面描述的三个参数:

  • type_of_data:它是必需的参数。它保存要检查的数据的输入类型。可用的选项是:
    • INPUT_GET
    • 输入_POST
    • INPUT_COOKIE
    • 输入服务器
    • INPUT_ENV
  • 定义:可选参数。它指定了一组过滤器参数或参数。作为变量名的有效数组键和作为过滤器名称或 ID 的有效值,或指定过滤器、标志和选项的数组。此参数也可以是单个过滤器名称/ID,就像 filter_input() 然后输入数组中的所有值都由指定的过滤器过滤。
  • add_empty_parameter:可选参数。它是一个布尔参数。当它设置为 True 时,它会将缺失的键作为 NULL 添加到返回值中。其默认值为 True。

返回值:它返回一个包含成功和失败变量值的数组,它返回 False。如果 type 指定的输入数组未填充,则如果未指定 FILTER_NULL_ON_FAILURE 标志,则函数返回 NULL,否则返回 False。对于其他失败,返回 False。

下面的程序说明了PHP的 filter_input_array()函数:



方案一:

 array(
        "filter" => FILTER_CALLBACK,
        "flags" => FILTER_FORCE_ARRAY,
        "options" => "ucwords"
    ),
    "age" => array(
        "filter" => FILTER_VALIDATE_INT,
        "options" => array(
            "min_range" => 1,
            "max_range" => 120
        )
    ),
    "email"=> FILTER_VALIDATE_EMAIL,
);
  
print_r(filter_input_array(INPUT_GET, $filters));
  
?>

输出:

注意:此示例可能无法在在线 IDE 上给出预期结果,因为它不支持在 GET 或 POST 方法中传递参数。因此,尝试在某些PHP托管服务器或本地主机中运行它,并通过 GET 或 POST 方法传递参数的值。

方案二:
数据来自POST方法:

输出:

注意:此示例可能无法在在线 IDE 上给出预期结果,因为它不支持在 GET 或 POST 方法中传递参数。因此,尝试在某些PHP托管服务器或本地主机中运行它,并通过 GET 或 POST 方法传递参数的值。

参考文献:HTTP:// PHP.NET /手动/ EN /函数.filter输入阵列。 PHP