13

我想检查app参数是否存在于 URL 中,但没有值。

例子:

my_url.php?app

我试过isset()and empty(),但不工作。以前看过,忘记怎么弄了。

4

4 回答 4

32

空是正确的。你想同时使用设置和空

if(isset($_GET['app']) && !empty($_GET['app'])){
    echo "App = ".$_GET['app'];
} else {
    echo "App is empty";
}
于 2012-09-19T21:57:51.420 回答
5

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])) ...
于 2012-09-19T21:49:52.817 回答
2
if( isset($_GET['app']) && $_GET['app'] == "")
{

}
于 2012-09-19T21:49:02.293 回答
2

您可以简单地通过 array_key_exists('param', $_GET);.

想象一下这是你的 URL: http://example.com/file.php?param。它有param查询参数,但没有值。所以它的价值null实际上是。

array_key_exists('param', $_GET);true如果param存在则返回;false如果它根本不存在则返回。

于 2017-10-30T17:38:01.913 回答