1

コメント付きのコードで達成したいことを説明しようとします。

私がやろうとしているのは、条件が満たされた場合に if ステートメントをスキップし、条件ステートメントの外側でコードを実行し続けることです。

<?php
  if (i>4) {
    //if this condition met skip other if statements and move on
  }

  if (i>7) {
    //skip this
?>

<?php
  move here and execute the code
?>

break、continue、end、return ステートメントについては知っていますが、私の場合はうまくいきません。

これで私の質問が明確になることを願っています。

4

5 に答える 5

4

最初の条件が満たされ、他の条件をスキップしたい場合は、以下のように任意のフラグ変数を使用できます。

<?php
        $flag=0;
        if (i>4)
        {
          $flag=1;
        //if this condition met skip other if statements and move on
        }

        if (i>7 && flag==0)
        {
        //skip this
        ?>

        <?php
        move here and execute the code
        ?>
于 2013-08-06T04:47:39.700 に答える
3

あなたが使用することができますgoto

<?php
if (i>4)
{
//if this condition met skip other if statements and move on
goto bottom;
}

if (i>7)
{
//skip this
?>

<?php
bottom:
// move here and execute the code
// }
?>

しかし、もう一度、恐竜に目を向けてください。

xkcd に移動

于 2013-08-06T05:04:53.863 に答える
3

使用if-elseif-else:

if( $i > 4 ) {
    // If this condition is met, this code will be executed,
    //   but any other else/elseif blocks will not.
} elseif( $i > 7 ) {
    // If the first condition is true, this one will be skipped.
    // If the first condition is false but this one is true,
    //   then this code will be executed.
} else {
    // This will be executed if none of the conditions are true.
}

構造的に、これはあなたが探しているものでなければなりません。gotobreak、またはのようなスパゲッティ コードにつながるものはすべて避けてくださいcontinue

余談ですが、あなたの条件はあまり意味がありません。が 4 以下の場合$i、7 を超えることはないため、2 番目のブロックは実行されません。

于 2013-08-06T06:48:53.610 に答える
1

私は通常、次のようなマーカーを設定します。

<?php
    if (i>4)
    {
    //if this condition met skip other if statements and move on
    $skip=1;
    }

    if (i>7 && !$skip)
    {
    //skip this
    ?>

    <?php
    move here and execute the code
    ?>
于 2013-08-06T04:47:19.417 に答える