正确的公式:4 x if&else

0 php

我有4个IF句子,之后我想说别的(不是if的条件)但是我得到了一个错误.

我有:

if (condition 1) { }
if (condition 2) { }
if (condition 3) { }
if (condition 4) { }
else { }
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么 ?

Hai*_*vgi 7

如果条件是在同一个变量上

使用 switch case

它更清晰!

http://php.net/manual/en/control-structures.switch.php

否则请看Mark Ba​​ker的回答


Mar*_*ker 6

if (condition 1) { 
   ...
} elseif (condition 2) { 
   ...
} elseif (condition 3) { 
   ...
} elseif (condition 4) { 
   ...
} else { 
   ...
}
Run Code Online (Sandbox Code Playgroud)

编辑

不同的是,每一个你的"如果(条件N){}"语句(除了最后一个)在语法上是完整的,与封闭终止},因此您的"其他{}"只有在声明中涉及到最后你名单.

if (condition 1) { // Test if condition 1 is met
   ...
} // end of if (condition 1) statement
if (condition 2) { // Test if condition 2 is met regardless of any previous conditions 
   ...
} // end of if (condition 2) statement 
if (condition 3) { // Test if condition 3 is met regardless of any previous conditions  
   ...
} // end of if (condition 3) statement
if (condition 4) {  // Test if condition 4 is met regardless of any previous conditions 
   ...
} else { // will always be executed if (condition 4) is not met, even if conditions 1,2 or 3 have been met
   ...
} // end of if (condition 4) statement
Run Code Online (Sandbox Code Playgroud)

所以,如果条件1被满足,代码仍会检查条件2和3,然后测试条件4和执行else if条件4不满足,ecen虽然条件1满足.

使用ELSEIF,在else将仅如果被执行则没有条件1,2,3或4或满足.