我想检查网址中是否存在app
参数,但没有值。
示例:
my_url.php?app
我尝试了isset()
和empty()
,但没有效果。我以前看过它,我忘记了。
答案 0 :(得分:22)
空是正确的。你想要同时使用两者一起设置和清空
if(isset($_GET['app']) && !empty($_GET['app'])){
echo "App = ".$_GET['app'];
} else {
echo "App is empty";
}
答案 1 :(得分:5)
empty
应该正常工作(if(empty($_GET[var]))...
),因为它会检查以下内容:
以下内容被认为是空的:
"" (an empty string) 0 (0 as an integer) 0.0 (0 as a float) "0" (0 as a string) NULL FALSE array() (an empty array) $var; (a variable declared, but without a value)
以下是您的备选方案:
is_null
- 查找变量是否为NULL
if(is_null($_GET[var])) ...
defined
- 检查给定的命名常量是否存在
if(defined($_GET[var])) ...
答案 2 :(得分:1)
if( isset($_GET['app']) && $_GET['app'] == "")
{
}
答案 3 :(得分:0)
您只需按 array_key_exists('param', $_GET);
检查即可。
想象一下这是您的网址:http://example.com/file.php?param
。它具有param
查询参数,但它没有值。所以它的值实际上是null
。
array_key_exists('param', $_GET);
存在, true
会返回param
;如果它根本不存在,则返回false
。