单开关箱的多种情况

时间:2012-02-02 14:13:21

标签: php

  

可能重复:
  How to use a switch case 'or' in PHP?

是否可以在单个开关盒上具有多个条件,例如

switch($device) {
  case 'blackberry':
  break;
  case 'iphone' || 'ipod' || 'android':
  break;
}

感谢您的帮助。

5 个答案:

答案 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;
}