是否可以在单个开关盒上具有多个条件,例如
switch($device) {
case 'blackberry':
break;
case 'iphone' || 'ipod' || 'android':
break;
}
感谢您的帮助。
答案 0 :(得分:6)
switch($device) {
case 'blackberry':
break;
case 'iphone':
case 'ipod':
case 'android':
do_something();
break;
}
根据下面的评论,我将详细说明一下。
break语句会中断switch语句的执行并退出。所以,如果你有
case "iphone":
do_iphone();
case "ipod":
do_ipod();
break;
(注意两个案例之间缺少休息)。 do_iphone();和do_ipod();将执行(按顺序)。所以,基本上我们正在做的是一个“黑客”,引擎进入案例iphone,执行(在我们原来的情况下没有执行),然后继续前进到ipod等等。
答案 1 :(得分:3)
不使用您建议的语法,您必须创建指向相同操作的多个案例,例如:
switch($device) {
case 'blackberry':
blackberryFunction();
break;
case 'iphone':
case 'ipod':
case 'android':
nonBlackberry();
break;
}
答案 2 :(得分:1)
switch($device) {
case 'blackberry':
break;
case 'iphone':
case 'ipod':
case 'android':
//handle all three here
break;
}
答案 3 :(得分:0)
是的,只需使用多个案例陈述 -
switch($device){
case 'blackberry':
//implementation
break;
case 'iphone':
case 'ipod':
case 'android':
//implementation
break;
}
答案 4 :(得分:0)
只是'堆叠'案例陈述就足够了:
switch($device) {
case 'blackberry':
break;
case 'iphone':
case 'ipod':
case 'android':
break;
}