我想检查app
参数是否存在于 URL 中,但没有值。
例子:
my_url.php?app
我试过isset()
and empty()
,但不工作。以前看过,忘记怎么弄了。
空是正确的。你想同时使用设置和空
if(isset($_GET['app']) && !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);
.
想象一下这是你的 URL: http://example.com/file.php?param
。它有param
查询参数,但没有值。所以它的价值null
实际上是。
array_key_exists('param', $_GET);
true
如果param
存在则返回;false
如果它根本不存在则返回。