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

添加注释

用户贡献的注释 3 个注释

33
drm at melp dot nl
15 年前
请注意,该函数不检查实时数组,它实际上检查 PHP 收到的内容

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

会显示“No”,除非参数实际上在查询字符串中。

此外,如果输入变量为空,它会显示 Yes。
18
nanhe dot kumar at gmail dot com
11 年前
通过这个例子,我认为你可以更好地理解

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

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

考虑第二个例子

http://localhost/nanhe/test.php
$_GET['email']="[email protected]";
if ( !filter_has_var(INPUT_GET, 'email') ) {
echo "Email Not Found";
}else{
echo "Email Found";
}
但输出将是 Email Not Found
-17
dezlov
9 年前
对于想知道“magic_quotes_gpc”是否会影响“filter_input”操作的人,这里摘录了 PHP 源文件中的内容

* 由于输入过滤器在 magic quotes 函数修改数据之前对输入数据进行操作,因此通过 filter() 函数的所有访问都不会添加任何引号或斜杠 - 它将是浏览器发送的纯数据。

因此,在使用此函数时,当启用“magic_quotes_gpc”时,无需剥离斜杠。
To Top