PHP switch语句有可能采用2个参数吗?例如:
switch (firstVal, secondVal){
case firstVal == "YN" && secondVal == "NN":
thisDesc = "this is the outcome: YN and NN";
break;
case firstVal == "YY" && secondVal == "NN":
thisDesc = "this is the outcome: YY and NN";
break;
}
非常感谢,我多年没有做过PHP了!
答案 0 :(得分:6)
switch
- 声明,如
switch ($a) {
case 1:
break;
case 2:
break;
}
实际上与
相同if ($a == 1) {
} else if ($a == 2) {
}
您可以使用稍微不同的构造
switch (true) {
case $firstVal == "YN" && $secondVal == "NN":
break;
case $firstVal == "YY" && $secondVal == "NN":
break;
}
相当于
if (true == ($firstVal == "YN" && $secondVal == "NN")) {
} else if (true == ($firstVal == "YY" && $secondVal == "NN")) {
}
在某些情况下,它更具可读性而非无限if-elseif-else
- 链。
答案 1 :(得分:3)
不,但如果您的案例与您所拥有的一样简单,只需连接两个输入并测试连接值:
switch ($firstval . $secondval) {
case "YNNN": ...
case "YYNN": ...
}
答案 2 :(得分:0)
我很确定你不能这样做,不仅仅是PHP,还有其他任何编程语言。