PHP filter_input_array() 函数

定义和用法

filter_input_array() 函数从脚本外部获取多项输入,并进行过滤。

此函数无需重复调用 filter_input(),对过滤多个输入变量非常有用。

此函数可以从各种来源获取输入:

  • INPUT_GET
  • INPUT_POST
  • INPUT_COOKIE
  • INPUT_ENV
  • INPUT_SERVER
  • INPUT_SESSION (尚未实现)
  • INPUT_REQUEST (尚未实现)

如果成功,则返回被过滤的数据,如果失败,则返回 false。

语法

filter_input(input_type, args)
参数 描述
input_type 必需。规定输入类型。参见上面的列表中可能的类型。
args

Optioneel. Stel een array met filterparameters in.

Geldige array-sleutels zijn variabelennamen. Geldige waarden zijn filter-ID's, of arrays die filter, vlaggen en opties regelen.

Deze parameter kan ook een enkelvoudig filter-ID zijn. Als dat zo is, worden alle waarden in het invoerarray gefilterd door het opgegeven filter.

Tips en opmerkingen

Tip:Zie ookVolledige PHP Filter ReferentiesBekijk de filters die met deze functie kunnen worden gebruikt.

Voorbeeld

In dit voorbeeld gebruiken we de functie filter_input_array() om drie POST-variabelen te filteren. De geaccepteerde POST-variabelen zijn naam, leeftijd en e-mailadres:

<?php
$filters = array
 (
 "name" => 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_POST, $filters));
?>

Uitvoer lijkt op:

Array
 (
 [name] => Peter
 [age] => 41
 [email] => peter@example.com
 )