在pick basic中有一个case命令,其功能类似于switch命令,基本上是嵌套if else命令。代码是这样的:
begin case
case a=4;do something
case b=5 or c=6;do something
case y=x and f=z;do something
case 1;do something
end case
如果任何条件成立,则属于这种情况。我知道PHP有switch命令,但这仅限于一个变量的值。是否有一种方法可以在PHP或javascript中编写上述内容,而不需要一堆if then else命令,类似于上面的命令?
答案 0 :(得分:3)
如果您确实不想使用if
/ else
,那么switch (true)
可以工作:< / p>
switch (true) {
case ($a === 4):
doSomething();
break;
case ($b === 5 || $c === 6):
doSomething();
break;
case ($y === $x || $f === $z):
doSomething();
break;
default:
break;
}
然而,如果您只是简单地使用if
/ else
,那么打字就会减少,而且会让您的代码更具可读性,就像Shomz建议的那样。我真的不建议使用switch (true)
。
答案 1 :(得分:1)
用case
替换else if
的时间只有3个字节,我没有看到大问题,因为这正是if/else
的用途。正如你所说,开关用于单个变量。
您的do something
还可以包含结果变量或在满足任何条件时将设置的标记。
所以这个:
begin case
case a=4;do something
case b=5 or c=6;do something
case y=x and f=z;do something
case 1;do something
end case
可能是:
var case = false;
if (a==4) {dosomething(); case = true}
else if (b==5 || c==6) {dosomething(); case = true}
else if (y==z || f==z) {dosomething(); case = true}
else if (1) {dosomething(); case = true} // supposedly the default case?