1
下面的代码执行是否有GET变量通过与否:
if($_SERVER['REQUEST_METHOD'] == 'GET')
{
//Do something
}
下,只有当GET变量传递执行:
if($_GET)
{
//Do something
}
我的印象是,第一种方法是更好,但现在我很困惑。
任何想法?谢谢!
下面的代码执行是否有GET变量通过与否:
if($_SERVER['REQUEST_METHOD'] == 'GET')
{
//Do something
}
下,只有当GET变量传递执行:
if($_GET)
{
//Do something
}
我的印象是,第一种方法是更好,但现在我很困惑。
任何想法?谢谢!
第一个代码将在请求方法为GET时执行,即使没有查询字符串存在。
即使存在查询字符串,也不会执行POST请求类型。
您必须明白'GET'请求类型并不意味着该变量已在URL中传递。
所以这两个代码是完全不同的任务。
如果您只需检查变量是否在URL中传递,请使用第二个变量。
OH!谢谢你的解释。我没有意识到$ _GET超全局总是存在的。 – 2010-05-06 15:03:38
它始终存在,并且始终是一个数组。但是你的情况没问题(我纠正了我的答案)。如果没有任何东西被传递,它是一个空的数组,并且你的代码不会被执行。 :) – Macmade 2010-05-06 15:07:31
哦!万分感谢! – 2010-05-06 15:12:40