Php 继续开关中的案例
我有以下代码:Php 继续开关中的案例,php,switch-statement,continue,Php,Switch Statement,Continue,我有以下代码: switch(true) { case (something): { break; } case (something2): { break; } case (something3): { break; } } 另外,switch语句必须检查其中一个case给出的TRUE,这不是问题,问题是,我现
switch(true)
{
case (something):
{
break;
}
case (something2):
{
break;
}
case (something3):
{
break;
}
}
另外,switch
语句必须检查其中一个case给出的TRUE
,这不是问题,问题是,我现在有一个case,case内部。。。中断
检查完其他数据后,我想选择另一个开关箱
,就是跟在他后面的那个。
我尝试过这样做:
switch(true)
{
case (something):
{
break;
}
case (something2):
{
if(check)
{
something3 = true;
continue;
}
break;
}
case (something3):
{
break;
}
}
但是PHP不希望进入案例(something3):
它破坏了完整的开关
语句。如何传递一个案例的其余代码并跳转到下一个案例?这就是所谓的“失败”。尝试用这个概念组织代码
switch (foo) {
// fall case 1 through 2
case 1:
case 2:
// something runs for case 1 and 2
break;
case 3:
// something runs for case 3
break;
}
试试这个:
switch(true) {
case (something):
{
break;
{
case (something2):
{
if (!check) {
break;
}
}
case (something3):
{
break;
}
}
使用您的代码:
switch(true)
{
case (something):
{
break;
}
case (something2):
{
if(check) {
something3 = true;
}
else {
break;
}
}
case (something3):
{
break;
}
}
这将涉及到一些案例2并运行您的检查。如果您的检查通过,那么它不会运行break语句,该语句允许切换到“fall-through”,并执行某些操作3。我遇到过类似的情况,我提出了一个解决方案,在您的情况下,该解决方案如下所示:
switch(true)
{
case (something):
{
break;
}
case (something2):
{
if(!check)
{
break;
}
}
case (something3):
{
break;
}
}
您可以看到,我们没有检查进入下一个案例的条件,而是检查是否应该忽略当前的条件。是否将
something3
始终放在something2
之后?
switch(true)
{
case (something):
{
break;
}
case (something2):
{
if(!check)
{
break;
}
}
case (something3):
{
break;
}
}