PHP filter_input_array() funktionen
Definition och användning
filter_input_array() funktionen hämtar flera inmatningar från skriptets yttre och filtrerar dem.
Denna funktion behöver inte kalla på filter_input() igen, vilket är användbart för att filtrera flera inmatningsvariabler.
Denna funktion kan hämta inmatning från olika källor:
- INPUT_GET
- INPUT_POST
- INPUT_COOKIE
- INPUT_ENV
- INPUT_SERVER
- INPUT_SESSION (Ännu inte implementerat)
- INPUT_REQUEST (Ännu inte implementerat)
Om det lyckas returneras det filtrerade data, om det misslyckas returneras false.
Syntaks
filter_input(input_type, args)
Parameter | Beskrivning |
---|---|
input_type | Nödvändigt. Ange inmatningstyp. Se listan ovan för möjliga typer. |
args |
可选。规定过滤器参数数组。 合法的数组键是变量名。合法的值是过滤器 ID,或者规定过滤器、标志以及选项的数组。 该参数也可以是一个单独的过滤器 ID,如果是这样,输入数组中的所有值由指定过滤器进行过滤。 |
提示和注释
提示:参见完整的 PHP Filter 参考手册,查看可与该函数一同使用的过滤器。
实例
在此例中,我们使用 filter_input_array() 函数来过滤三个 POST 变量。所接受的 POST 变量是姓名、年龄以及电子邮件地址:
<?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)); ?>
输出类似:
Array ( [name] => Peter [age] => 41 [email] => peter@example.com )