3

我只是想知道是否有更好的方法来解决我的情况:

我有 6 个独立变量要检查。但是,如果任何条件为真,则不应检查其他条件。通常我会写:

    if (cond1 ) { 
          statement 
    } else {
       if ( cond2 ) {
          statement      
       } else {
         if (cond3) {
             statement
         } else {
         ...    
         }
       }
    }

你肯定会承认它看起来不太好,或者虽然它有效,但它不容易阅读。您是否知道编写此类 if 语句的任何其他方法,可能使用其他符号或函数(switch?while?)

4

3 回答 3

7

是的,你可以

if (cond1 ) { 
    statement 
} elseif ( cond2 ) {
    statement
} elseif ( cond3 ) {
    statement
}

查看文档

于 2013-04-04T16:35:08.527 回答
1

更时尚的方式:

if(cond1):
    statement1
elseif(cond2):
    statement2
elseif(cond3):
    statement3
elseif(cond4):
    statement4
elseif(cond5):
    statement5
elseif(cond6):
    statement6
endif;

这是你如何做到这一点switch()

$a = 10;
$b = 100;

switch(true){
    case ($a > $b):
        echo 'a is bigger than b';break;
    case ($b > $a):
        echo 'b is bigger than a';break;
}
于 2013-04-04T16:44:11.120 回答
0
  if (cond1 ) { 
          statement 
    } else {
       if ( cond2 ) {
          statement      
       } else {
         if (cond3) {
             statement
         } else {
         ...    
         }
       }
    }

改成:

if (Cond1){

}elseif (cond2){

}elseif (cond3){

}
于 2013-04-04T16:36:06.087 回答