2010-05-20 37 views

回答

9

我会测试QUERY_STRING

if (!empty($_SERVER["QUERY_STRING"])) 

应该效果与检查$_GET没什么不同,不过 - 无论哪种方式都没问题。

+1

我喜欢这个,因为它会发现:http://example.com/foo.php?thisisaquery。注意缺乏等号。 – jmucchiello 2010-05-20 15:10:02

+1

@jmuchhiello true,但即使在这种情况下,如果我没有弄错,thisisaquery应该出现在$ _GET中作为一个空条目。 – 2010-05-20 15:11:22

+0

从@Pekka一如既往的优秀答案:微妙的差异使其比其他答案更正确 – Josh 2010-05-20 15:11:48

-2

isset($_GET['m'])

或者如果有的话,我相信count($_GET)可能会奏效。

+0

但是,我不知道变量将被称为什么,这是我的观点。 – zuk1 2010-05-20 15:11:07

0

如果您是指取一个字符串并检查它是否有查询字符串,则可以使用parse_url

如果您的意思是检查当前请求是否有查询字符串,您可以检查长度为$_SERVER['QUERY_STRING']

如果你的意思是得到从查询字符串被解析的变量数的计数,你可以做count($_GET);

5
if(!empty($_GET)) { 
    //GET variables have been set 
} 
2

(计数($ _ GET)> 0)

1

如果你想与(一)变量(一个或多个)外办呢,如果语句中使用这个它会检查前:

if (!isset($_GET['getvariable'])) { 
    if (!empty($_SERVER["QUERY_STRING"])) { 
     echo "do something"; 
    } 
}