我想检查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如果它根本不存在则返回。