Оператор break в PHP
Иногда цикл успевает сделать свою работу раньше, чем дойдёт до естественного конца. Для такого случая есть оператор break: как только PHP доходит до него, весь цикл останавливается, а скрипт продолжает работу с того, что идёт после цикла.
Он работает во всех четырёх видах циклов:
forwhiledo...whileforeach
Выход из цикла for с помощью break в PHP
Внутри цикла for оператор break сразу завершает цикл, даже если счётчик ещё не достиг своего предела.
Выход из цикла for
Счётчик мог бы дойти до 9, но этот цикл завершается, как только $x достигает 4, поэтому последним выводится число 3:
Вывод: PHP-скрипт
<?php
for ($x = 0; $x < 10; $x++) {
if ($x == 4) {
break;
}
echo "Число равно: $x <br>";
}
?>
Выход из цикла while с помощью break в PHP
Цикл while можно прервать таким же образом, хотя его условие всё ещё истинно.
Выход из цикла while
Условие допускает значения меньше 10, но цикл останавливается, как только $x становится равным 4:
Вывод: PHP-скрипт
<?php
$x = 0;
while($x < 10) {
if ($x == 4) {
break;
}
echo "Число равно: $x <br>";
$x++;
}
?>
Выход из цикла do while с помощью break в PHP
Если поместить break внутрь цикла do...while, условие внизу больше не проверяется: PHP сразу выходит из цикла.
Выход из цикла do while
Как только $i становится равным 3, цикл завершается, поэтому в выводе остаются только 1 и 2:
Вывод: PHP-скрипт
<?php
$i = 1;
do {
if ($i == 3) break;
echo $i;
$i++;
} while ($i < 6);
?>
Выход из цикла foreach с помощью break в PHP
В цикле foreach оператор break позволяет остановиться, не обойдя все элементы массива. Это удобно, когда вы уже нашли то, что искали.
Выход из цикла foreach
Цикл перебирает цвета и останавливается, дойдя до «blue», поэтому ни «blue», ни «yellow» не выводятся:
Вывод: PHP-скрипт
<?php
$colors = array("red", "green", "blue", "yellow");
foreach ($colors as $value) {
if ($value == "blue") break;
echo "$value<br>";
}
?>