对于凌乱的代码很抱歉,但基本上这段代码只会生成$booktype = "ICT"
,如果我从elseif中删除“else”,则会使其等于ENGLISH
。
出了什么问题?
我回应了POST_ Book room,结果很好。
if ($_POST['bookroom'] == "142" || "040" || "139"|| "104") {
$booktype = "ICT";
} elseif ($_POST['bookroom'] == "015" || "016" || "017" || "018" || "027" || "028") {
$booktype = "MATHS";
} elseif ($_POST['bookroom'] == "E03") {
$booktype = "MUSIC";
} elseif ($_POST['bookroom'] == "202" || "204" || "205" || "206" || "207") {
$booktype = "ENGLISH";
}
答案 0 :(得分:5)
在一天结束时,您没有使用'或'正确。要缩短代码,您可以像这样执行if语句:
if(in_array($_POST['bookroom'], array("142","040","139","104"))) {
正确使用"或"或"和"条款,您需要使声明自成一体。也就是说,
if(this option is true || this option is true || this option is true)
if($a == 4 || $a == 5 || $a == 6)
答案 1 :(得分:1)
你不能像这样连锁条件。将其更改为
$_POST['bookroom'] == "142" || $_POST['bookroom'] == "040" || [...]
此外,使用带有漏洞的switch case在这里更具可读性。
答案 2 :(得分:1)
您也可以将其更改为使用in_array函数:
自:
if ($_POST['bookroom'] == "142" || "040" || "139"|| "104"){
到
if (in_array($_POST['bookroom'], array("142","040","139","104"))){
答案 3 :(得分:0)
你可以使用开关!
switch($_POST['bookroom']){
case "142":
...
break;
case "040":
...
break;
}