跳过当前迭代

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

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

并有一个 if 语句 if($number == 4)

在那行代码之后的代码行是什么,它会跳过那行代码之后的任何内容,在5点开始循环?中断,返回,退出?

93729 次浏览

您正在寻找 继续语句。休息也很有用,它将完全退出循环。这两种语句都适用于各种不同的循环。forforeachwhile

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

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

我想你是在寻找继续陈述。看看 http://php.net/manual/en/control-structures.continue.php

迪内尔

将停止循环并使编译器超出循环。而继续; 将跳过当前的一个,进入下一个周期。 例如:

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

产出:

1
2
4
6 <- this won't happen