跳过当前迭代

时间:2011-02-17 00:36:45

标签: php loops

我有一个php数组$numbers = array(1,2,3,4,5,6,7,8,9)

如果我使用foreach foreach($numbers as $number)

进行循环

并拥有if语句if($number == 4)

在该行之后会跳过任何代码,在该行之后跳过任何内容并在5处开始循环?休息,回归,退出?

4 个答案:

答案 0 :(得分:82)

您正在寻找continue声明。同样有用的是break,它将完全退出循环。这两个语句都适用于循环的所有变体,即。 forforeachwhile

$numbers = array( 1, 2, 3, 4, 5, 6, 7, 8, 9 );
foreach( $numbers as $number ) {
    if ( $number == 4 ) { continue; }
    // ... snip
}

答案 1 :(得分:17)

continue;

继续将告诉它跳过当前的迭代块,但继续循环的其余部分。适用于所有场景(适用于,等等)

答案 2 :(得分:3)

歇;将停止循环并使编译器退出循环。继续;将跳过当前的一个并进入下一个周期。 像:

$i = 0;
while ($i++)
{
    if ($i == 3)
    {
        continue;
    }
    if ($i == 5)
    {
        break;
    }
    echo $i . "\n";
}

输出:

1
2
4
6 <- this won't happen

答案 3 :(得分:2)

我想你正在寻找继续声明。看看http://php.net/manual/en/control-structures.continue.php

DINEL