【发布时间】:2014-09-23 20:38:30
【问题描述】:
我有一些代码,基本上包含一个特定于页面的标题,只有在我的 URL 中定义了一个 GET 参数时才应该加载。
例如,如果我希望标题只显示 URL 中是否设置了“thisonly”参数,如果 URL 是:
http://www.example.com?thisonly=w&thisone=q&thistwo=q&thisthree=q
之前我一直用这段代码来检查:
if((isset($_GET[thisonly])) && (!isset($_GET[thisone])) && (!isset($_GET[thistwo])) && (!isset($_GET[thisthree]))) {
// Run this code
}
在上述情况下,代码不会运行,因为设置了其他参数。
但是,更新会很麻烦,特别是如果我最终添加了更多参数,并且必须返回并添加到此代码中以确保它们也没有设置。
有没有办法把它缩短到相当于
if((isset($_GET[thisonly])) && (!isset($_GET[nothingelse]))) {
// Run this code
}
例如,如果“thisonly”是唯一的参数集,并且没有设置其他参数,那么运行代码?
任何帮助表示赞赏 - 谢谢!
【问题讨论】:
-
[thisonly]被视为constant。用引号将它们括起来['thisonly']等。 -
我明白了,我拥有它的方式怎么会导致不需要的结果?我确实阅读了您的链接,但是我不知道为什么要把它放在引号中而不是......它周围的引号是否意味着 example.com?TeSt=true 将注册与 example.com?test=true 相同
-
尝试不带引号并结合下面约翰的回答。如果成功了,那就太好了。如果它抛出一个错误,那么你就会知道为什么。
标签: php if-statement parameters get isset