Как остановить цикл foreach, не останавливая оставшуюся часть сценария PHP? - PullRequest
12 голосов
/ 07 марта 2011

Имея цикл foreach, возможно ли его остановить, если определенное условие становится действительным?

Пример:

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

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

}
?>

Я пытался использовать returnи exit, но это не сработало, как ожидалось, потому что я хочу продолжить выполнение оставшегося сценария PHP.

Ответы [ 2 ]

46 голосов
/ 07 марта 2011

Использование break:

foreach($foo as $bar) {    
    if(2 + 2 === 4) {
        break;    
    }    
}

Break выйдет из цикла foreach и продолжит выполнение в обычном режиме. Если вы хотите пропустить только одну итерацию, вы можете использовать continue.

5 голосов
/ 07 марта 2011

http://php.net/manual/en/control-structures.break.php - это ответ!

Так просто, как break;.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...