0

ほとんどの場合、ユーザー入力を処理するために、互いにネストされた多くの IF ステートメントを使用していることに気付きます。時には、画面の左側にある if から画面の右側にある if 番号 10 まで、以下よりもはるかに多くなります。 .

これは読み取りとトラブルシューティングが非常に困難です。ネストされた場合を行う他の方法はありますか?

switch() については知っていますが、この場合、最初ではなく 3 番目にクエリを実行する必要があります。

if (true) {

  if (true) {

     if (true) {
        ...
        echo "You are logged in";
     } else {
        echo "login failed"
     }

  } else {
     echo "incorrect email";
  }

}
4

4 に答える 4

7

あなたの条件はブール定数trueだけではなく、実際の条件であると思います。true

if (condition1 && condition2 && condition3) {
    echo "You are logged in";
} else {
    echo "login failed";
}

条件を個別に処理する必要がある場合:

if (emailAddressIsCorrect) {
  if (condition2 && condition3) {
    echo "You are logged in";
  } else {
    echo "login failed";
} else {
 echo "incorrect email";
}

または、早めに戻ることもできます。これは、私の意見ではよりクリーンです。必要に応じて、条件ごとにこれを行うことができます。この配置では、条件のネストを必要とせずに、必要な数の条件を設定できます。

if (!emailAddressIsCorrect) {
  echo "incorrect email";
  return;
}
于 2013-05-08T20:25:53.943 に答える