我想检查URL中是否存在
app
参数,但没有值。
示例:
my_url.php?app
我尝试了
isset()
和empty()
,但不起作用。我以前见过它是怎么做的,但我忘记了。
空是正确的。你想同时使用 set 和 empty
if(!empty($_GET['app'])){
echo "App = ".$_GET['app'];
} else {
echo "App is empty";
}
empty
应该可以工作 (if(empty($_GET[var]))...
),因为它会检查以下内容:
以下内容视为空:
""(空字符串) 0(0 作为整数) 0.0(0 作为浮点数) “0”(0 作为字符串) 无效的 错误的 array() (空数组) $var; (声明了变量,但没有值)
以下是您的替代方案:
is_null
- 查找变量是否为 NULL
if(is_null($_GET[var])) ...
defined
- 检查给定的命名常量是否存在
if(defined($_GET[var])) ...
if( isset($_GET['app']) && $_GET['app'] == "")
{
}
您只需通过
array_key_exists('param', $_GET);
即可检查。
想象这是您的网址:
http://example.com/file.php?param
。它具有 param
查询参数,但没有值。所以它的值实际上是 null
。
如果 array_key_exists('param', $_GET);
存在,则
true
返回 param
;如果根本不存在,则返回 false
。