PHP 8.4.1 Released!

filter_has_var

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

filter_has_var检测是否存在指定类型的变量

说明

filter_has_var(int $input_type, string $var_name): bool

参数

input_type

INPUT_GETINPUT_POSTINPUT_COOKIEINPUT_SERVERINPUT_ENV 里的其中一个。

var_name

要检查的变量名。

返回值

成功时返回 true, 或者在失败时返回 false

添加备注

用户贡献的备注 2 notes

up
33
drm at melp dot nl
15 years ago
Please note that the function does not check the live array, it actually checks the content received by php:

<?php
$_GET
['test'] = 1;
echo
filter_has_var(INPUT_GET, 'test') ? 'Yes' : 'No';
?>

would say "No", unless the parameter was actually in the querystring.

Also, if the input var is empty, it will say Yes.
up
19
nanhe dot kumar at gmail dot com
11 years ago
Through this example i think you can better understand

if ( !filter_has_var(INPUT_GET, 'email') ) {
echo "Email Not Found";
}else{
echo "Email Found";
}
Output

localhost/nanhe/test.php?email=1 //Email Found
localhost/nanhe/test.php?email //Email Found
http://localhost/nanhe/test.php //Email Not Found

Consider on second example

http://localhost/nanhe/test.php
$_GET['email']="info@nanhe.in";
if ( !filter_has_var(INPUT_GET, 'email') ) {
echo "Email Not Found";
}else{
echo "Email Found";
}
But output will be Email Not Found
To Top