break

(PHP 4, PHP 5, PHP 7)

break kończy wykonywanie obecnej struktury for, foreach, while, do-while lub switch.

break akceptuje opcjonalny argument numeryczny, który mówi, z jak wielu zagnieżdżonych struktur, należy się wyłamać. Domyślną wartością jest 1 - następuje wyłamanie tylko z najbliższej, bezpośredniej struktury.

<?php
$arr 
= array('one''two''three''four''stop''five');
foreach (
$arr as $val) {
    if (
$val == 'stop') {
        break;    
/* Można to też zapisać jako 'break 1;' */
    
}
    echo 
"$val<br />\n";
}

/* Użycie opcjonalnego argumentu. */

$i 0;
while (++
$i) {
    switch (
$i) {
        case 
5:
            echo 
"At 5<br />\n";
            break 
1;  /* Wychodzi poza switch. */
        
case 10:
            echo 
"At 10; quitting<br />\n";
            break 
2;  /* Wychodzi poza switch i pętlę. */
        
default:
            break;
    }
}
?>

Wykaz zmian dla break
Wersja Opis
7.0.0 break poza pętlą lub strukturą switch jest teraz wykrywany podczas kompilacji, a nie uruchamiania, jak wcześniej i wywołuje błąd typu E_COMPILE_ERROR.
5.4.0 break 0; nie jest dłużej poprawne. W poprzednich wersjach było interpretowane tak samo jak break 1;.
5.4.0 Usunięto możliwość przekazywania zmiennych (np. $num = 2; break $num;), jako argumentu numerycznego.

add a note add a note

User Contributed Notes 2 notes

up
4
ei dot dwaps at gmail dot com
3 years 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;
  }
?>
up
-4
mparsa1372 at gmail dot com
3 years ago
The break statement can also be used to jump out of a loop.

This example jumps out of the loop when x is equal to 4:

<?php
for ($x = 0; $x < 10; $x++) {
  if (
$x == 4) {
    break;
  }
  echo
"The number is: $x <br>";
}
?>
To Top