【发布时间】:2014-04-13 20:39:07
【问题描述】:
像这样的页面:PHP switch case $_GET's variables and switch case $_GET's variable's values 和其他页面有所帮助,但我不知道为什么我的 switch 语句不起作用。
用户可能会通过index.php?class=className&badge=badgeName 或index.php?class=className 或index.php?badge=badgeName 或只是简单的旧index.php 被引导到我的页面
这段代码运行良好
if ($_GET["badge"] && $_GET["class"]) {
echo 'Badge and Class';
} elseif ($_GET["badge"] && !$_GET["class"]) {
echo 'Badge only';
} elseif (!$_GET["badge"] && $_GET["class"]) {
echo 'Class only';
} else {
echo 'No variables';
}
但我试图用 switch 语句进行简化,除默认情况外,一切正常:
switch ($_GET) {
case $_GET["badge"] && $_GET["class"]:
echo 'Badge and Class';
break;
case $_GET["badge"] && !$_GET["class"]:
echo 'Badge Only';
break;
case !$_GET["badge"] && $_GET["class"]:
echo 'Class only';
break;
default:
echo "No badge or class";
}
任何帮助表示赞赏。
【问题讨论】:
-
switch 语句不能这样工作。
-
@Outsider 它的作品,只是他需要一些更正!
标签: php switch-statement