如果条件满足则跳过if语句并继续执行php下面的代码

时间:2013-08-06 04:38:35

标签: php if-statement

我将尝试用注释代码解释我想要实现的目标。

我想要做的是跳过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
?>

我知道中断,继续,结束和返回声明,但这不符合我的情况。

我希望这能解决我的问题。

5 个答案:

答案 0 :(得分: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
        ?>

答案 1 :(得分: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
// }
?>

但是再一次,留意恐龙。

goto xkcd

答案 2 :(得分: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.
}

在结构上,这应该是你正在寻找的。尽量避免任何导致意大利面条代码的内容,例如gotobreakcontinue

另一方面,你的条件并没有多大意义。如果$i不大于4,它将永远不会大于7,所以第二个块永远不会被执行。

答案 3 :(得分: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
    ?>

答案 4 :(得分:0)

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

    if (i>7)
    {
    //this will be skipped
    }
  }    
?>

    <?php
    move here and execute the code
    ?>