首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >$_GET和isset()

$_GET和isset()
EN

Stack Overflow用户
提问于 2010-08-31 19:15:28
回答 7查看 12.1K关注 0票数 0

在剩下的if语句之前,我正在对if isset($_GET['whatever'])...进行测试。E_NOTICE错误可以方便地关闭,对于$_POST变量,在init脚本中有一个解决方案。

代码语言:javascript
复制
$POST = (is_array( $_POST ) && count( $_POST ) > 0);

我发现这有助于自我发布脚本看起来很干净。

代码语言:javascript
复制
if ($POST) {
    // now do something with $_POST...
}

如果你不知道关键是什么的话,我不知道如何动态地做到这一点?有人能帮助为$_GET变量找到类似的解决方案吗?

编辑:

我只想让if ($_GET['whatever'] == "whatever");返回false,如果它没有设置并且没有E_NOTICE错误。

编辑:

对不起,如果我不清楚,我正在为$_GET而不是$_POST寻找解决方案--我只是使用$_POST作为我希望实现的目标的一个例子。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-08-31 19:25:00

有时我使用全局GET函数:

代码语言:javascript
复制
function GET($key, $default = null) {
    return isset($_GET[$key]) ? $_GET[$key] : $default;
}
票数 10
EN

Stack Overflow用户

发布于 2010-08-31 19:20:03

所有这些混乱的主要思想很简单:程序中的每个变量都应该在使用之前初始化.

因此,您可以做的最好是将所有变量集中起来,例如,在脚本的最上面设置。

但也有一些不同的案例。对于你发布的案件,你不需要这些,但是

代码语言:javascript
复制
if ($_SERVER['REQUEST_METHOD'] == "POST")
票数 2
EN

Stack Overflow用户

发布于 2010-08-31 21:10:45

已经回答了,但既然没有提到,也请尝试:

代码语言:javascript
复制
$var = filter_input(INPUT_GET, 'varname');

这将返回空,如果它不存在,没有烦人的数组通知,还过滤了潜在的坏东西,以各种方式。另见:http://www.php.net/filter

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3612374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档