嵌套if语句好还是坏?

Jac*_*nto 1 php if-statement

我有一个投票系统,允许用户投票给项目.现在我通过首先检查用户是否登录然后检查他们是否已经投票来做到这一点.我想知道是否有更好的方法这样做,因为我被告知嵌套的if语句是要避免的.

我的代码:

if ($loggedIn) {
    if($row['voted']){
        You Already voted
    }else{
        <a href="#">Agree</a>
    }
}else{
    Please Register
}
Run Code Online (Sandbox Code Playgroud)

Luk*_*son 6

嵌套if( ... ){ ... }else{ ... }语句很好,只要它们合乎逻辑且易于阅读/维护.另一个选择是检查参数的逻辑,看看它们是否可以用更简单的方式表达.

例如,您提供的代码可以表示为:

if( !$loggedIn ){
  echo 'Please Register';
}elseif( $row['voted'] ){
  echo 'You Already voted';
}else{
  echo '<a href="#">Agree</a>';
}
Run Code Online (Sandbox Code Playgroud)