可能重复:
如何使用开关盒';或者';在PHP中?
是否可能在单个开关情况下具有多个条件,例如
switch($device) {
case 'blackberry':
break;
case 'iphone' || 'ipod' || 'android':
break;
}
谢谢你的帮助。
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等等。
如果没有您建议的语法,您必须创建多个指向同一操作的案例,例如:
switch($device) {
case 'blackberry':
blackberryFunction();
break;
case 'iphone':
case 'ipod':
case 'android':
nonBlackberry();
break;
}
switch($device) {
case 'blackberry':
break;
case 'iphone':
case 'ipod':
case 'android':
//handle all three here
break;
}
是的,只需在一个案例下使用多个案例语句即可-
switch($device){
case 'blackberry':
//implementation
break;
case 'iphone':
case 'ipod':
case 'android':
//implementation
break;
}
只需"堆叠"case语句就足够了:
switch($device) {
case 'blackberry':
break;
case 'iphone':
case 'ipod':
case 'android':
break;
}