PHPKonf 2020 Online

break

(PHP 4, PHP 5, PHP 7, PHP 8)

break прерывает выполнение текущей структуры for, foreach, while, do-while или switch.

break принимает необязательный числовой аргумент, который сообщает ему выполнение какого количества вложенных структур необходимо прервать. Значение по умолчанию 1, только ближайшая структура будет прервана.

<?php
$arr 
= array('один''два''три''четыре''стоп''пять');
foreach (
$arr as $val) {
    if (
$val == 'стоп') {
        break;    
/* Тут можно было написать 'break 1;'. */
    
}
    echo 
"$val<br />\n";
}

/* Использование дополнительного аргумента. */

$i 0;
while (++
$i) {
    switch (
$i) {
        case 
5:
            echo 
"Итерация 5<br />\n";
            break 
1;  /* Выйти только из конструкции switch. */
        
case 10:
            echo 
"Итерация 10; выходим<br />\n";
            break 
2;  /* Выходим из конструкции switch и из цикла while. */
        
default:
            break;
    }
}
?>

add a note add a note

User Contributed Notes 1 note

up
4
ei dot dwaps at gmail dot com
24 days ago
You can also use break with parentheses: break(1);

Note:
Using more nesting level leads to fatal error:

<?php
while (true) {
    foreach ([
1, 2, 3] as $value) {
      echo
'ok<br>';
      break
3; // Fatal error: Cannot 'break' 3 levels
   
}
    echo
'jamais exécuter';
    break;
  }
?>
To Top