如何在不停止PHP脚本的其余部分的情况下停止foreach循环?

daG*_*vis 12 php foreach loops

有一个foreach循环,如果某个条件变得有效,是否可以停止它?

例:

<?php
foreach ($foo as $bar) {

  if (2+2 === 4) {
    // Do something and stop the cycle
  }

}
?>
Run Code Online (Sandbox Code Playgroud)

我试图使用returnexit,但它没有按预期工作,因为我想继续执行剩余的PHP脚本.

Tat*_*nen 46

用途break:

foreach($foo as $bar) {    
    if(2 + 2 === 4) {
        break;    
    }    
}
Run Code Online (Sandbox Code Playgroud)

Break将跳出foreach循环并继续正常执行.如果您只想跳过一次迭代,则可以使用continue.

  • 这就是发生的事情,`break`只停止最里面的循环.要打破超过最内层循环,请使用`break 2;`,其中数字是您想要突破的嵌套循环的数量. (4认同)