【问题标题】:How to loop through all cases in switch if they are all true如果它们都为真,如何循环遍历 switch 中的所有情况
【发布时间】:2014-09-05 06:40:39
【问题描述】:

我有一个包含 3 种情况的 switch 语句,如下所示:

switch($date) {
 case 1:
   echo "";
 break; 
 case 2:
  echo "";  
 break;
case 3:
 echo'';
break;   
default:            
 echo '';
break;
}

我想知道,如果所有案例都是真的,是否有办法遍历所有案例。但是使用 break,因为如果我不使用它,案例将无法正常工作。那么有没有办法? ?

【问题讨论】:

  • “遍历所有案例”是什么意思?
  • 他们不可能一次都成真
  • 3 个单独的 if() {} 语句怎么样?那样的话,如果他们都是真的,他们都会开火。但是,您应该发布更多代码,以便我们更好地了解您的需求。
  • $date 如何满足所有三个条件?如果$date123?嗯?不清楚。
  • 不能;因此这个要求是不正确的。

标签: php switch-statement case


【解决方案1】:

如果您想查看所讨论的变量是否存在多项情况,则不应使用 switch,因为一旦其中一种情况成立,switch 语句将被切断(即它不会继续查看是否其他情况也适用于变量)。

如果您的目标是测试关于一个变量的多个事情是否为真,只需使用 if 语句:

if ($date == X && $date == Y && $date == Z) {
    // Do something since all the conditions are met
}

另一种可能性是像这样“解决”您的案件:

switch ($variable) {
    case 0:
        // Do something to (some) variable to indicate this case applies
    case 1:
        // Do something to (some) variable to indicate this case also applies
    case 2:
        // Do something to (some) variable to indicate this case also applies
        echo "WHATEVER YOU WANT TO ECHO"
        break;
}

【讨论】:

    猜你喜欢
    • 2022-01-08
    • 2014-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-24
    • 1970-01-01
    • 1970-01-01
    • 2021-09-23
    相关资源
    最近更新 更多