Как остановить цикл foreach, не останавливая остальную часть PHP-скрипта?


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

Пример:

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

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

}
?>

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

Author: Zuul, 2011-03-07

2 answers

Использовать break:

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

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

 43
Author: Tatu Ulmanen, 2011-03-07 11:18:22

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

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

 4
Author: jolt, 2011-03-07 11:18:01