PHP - 切换多个case语句

N.M*_*M.N 47 php switch-statement

有人可以建议我如何替换下面的代码如何重写代码以避免重复块 case 3:{code block A; break;}

`

switch(i){
  case 1:{code block A; break;}
  case 2:{code block b; break;}
  case 3:{code block A; break;}
  default: {code block default; break;}
}
Run Code Online (Sandbox Code Playgroud)

`

如何结合案例1和案例3的代码

Nug*_*get 120

switch (i) {
    case 1:
    case 3:
        code block A;
        break;
    case 2:
        code block B;
        break;
    default:
        code block default;
        break;
}
Run Code Online (Sandbox Code Playgroud)

  • 如果i = 1,那么php将测试i = 3?或者是要直接进入代码? (4认同)
  • 是的,这是几乎所有支持`switch-case`的语言的标准模式.当你将一个案例落入下一个案例时,它被称为"堕落".这就是为什么你要在那里调用`break`,以防止它掉进你不想要的地方. (2认同)

小智 9

像这样的东西

switch(i){
    case 1:
    case 3:{code block A; break;}
    case 2:{code block b; break;}
    default: {code block default; break;}
}
Run Code Online (Sandbox Code Playgroud)