For остановить цикл php

PHP: break, continue и goto

Часто бывает удобно при возникновении некоторых условий иметь возможность досрочно завершить цикл. Такую возможность предоставляет оператор break . Он работает с такими конструкциями как: while, do while, for, foreach или switch .

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

\n"; break 1; /* Выход только из конструкции switch. */ case 10: echo "Итерация 10; выходим
\n"; break 2; /* Выход из конструкции switch и из цикла while. */ > > // другой пример for ($bar1 = -4; $bar1 < 7; $bar1++) < // проверка деления на ноль if ($bar1 == 0) < echo 'Выполнение остановлено: деление на ноль невозможно.'; break; >echo "50/$bar1 = ",50/$bar1,"
"; > ?>

Разумеется, иногда вы предпочли бы просто пропустить одну из итераций цикла, а не завершать полностью работу цикла, в таком случае это делается с помощью оператора continue .

continue

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

Читайте также:  Java logging in exception class

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

"; continue; > echo "50/$bar1 = ",50/$bar1,"
"; > ?>

Обратите внимание: в процессе работы цикла было пропущено нулевое значение переменной $counter , но цикл продолжил работу со следующего значения.

goto

goto является оператором безусловного перехода. Он используется для перехода в другой участок кода программы. Место, куда необходимо перейти в программе указывается с помощью метки (простого идентификатора), за которой ставится двоеточие. Для перехода, после оператора goto ставится желаемая метка.

Простой пример использования оператора goto :

Оператор goto имеет некоторые ограничение на использование. Целевая метка должна находиться в том же файле и в том же контексте, это означает, что вы не можете переходить за границы функции или метода, а так же не можете перейти внутрь одной из них. Также нельзя перейти внутрь любого цикла или оператора switch . Но его можно использовать для выхода из этих конструкций (из циклов и оператора switch ). Обычно оператор goto используется вместо многоуровневых break .

"; > echo 'после цикла - до метки'; // инструкция не будет выполнена end: echo 'После метки'; ?>

Копирование материалов с данного сайта возможно только с разрешения администрации сайта
и при указании прямой активной ссылки на источник.
2011 – 2023 © puzzleweb.ru

Источник

Операторы break и continue в PHP

Очень часто при работе с циклами требуется пропустить одну итерацию и перейти к следующей. Не менее часто возникает необходимость и вовсе нужно прервать цикл ещё до того, как он должен был завершиться. Для этого используются специальные операторы PHP – continue (переход к следующей итерации) и break (остановка цикла).

Оператор break завершает цикл полностью, continue просто сокращает текущую итерацию и переходит к следующей итерации:

while ($foo) < continue; --- возвращаемся сюда --┘ break; ----- покидаем цикл ----┐ > | 

Прерывание цикла - break

Для примера напишем простейший цикл, внутри которого мы будем выяснять, есть ли искомое число в массиве, или нет:

Пример

 $array = [5, 9, 6, 7, 33, 2, 48, 7, 18, 17];

$number = 7;
$isNumberFound = false;
foreach ($array as $value) echo 'Сравниваем с числом значение ' . $value . '
';
if ($item === $number) $isNumberFound = true;
>
>

echo $isNumberFound ? 'Число найдено' : 'Число не найдено';
?>

Результат выполнения кода:

Сравниваем с числом значение 5 Сравниваем с числом значение 9 Сравниваем с числом значение 6 Сравниваем с числом значение 7 Сравниваем с числом значение 33 Сравниваем с числом значение 2 Сравниваем с числом значение 48 Сравниваем с числом значение 7 Сравниваем с числом значение 18 Сравниваем с числом значение 17 Число не найдено

Перед циклом мы инициализировали переменную $isNumberFound , назначение которой — хранить информацию о том, найдена ли искомая цифра в массиве или нет. Изначально приравниваем её к false .

В цикле идём по массиву и сравниваем каждый его элемент $value с числом. Когда совпадение найдено значение переменной $isNumberFound станет равной true и мы уже знаем, что искомая цифра в массиве есть.

Из примера видно, что все элементы массива сравнивались с искомой цифрой. А что если мы хотим найти цифру 7 и на этом завершить работу цикла? Для этого используем оператор break :

Пример

 $array = [5, 9, 6, 7, 33, 2, 48, 7, 18, 17];

$number = 7;
$isNumberFound = false;
foreach ($array as $value) echo 'Сравниваем с числом значение ' . $value . '
';
if ($item === $number) $isNumberFound = true;
break;
>
>

echo $isNumberFound ? 'Число найдено' : 'Число не найдено';
?>

Результат выполнения кода:

Сравниваем с числом значение 5 Сравниваем с числом значение 9 Сравниваем с числом значение 6 Сравниваем с числом значение 7 Число найдено

В примере мы останавливаем работу цикла, как только искомая цифра 7 найдена. При этом сценарий завершился с гораздо меньшим числом итераций.

Прерывание итерации - continue

Оператор continue предназначен для остановки обработки текущего блока кода в теле цикла и перехода к следующей итерации. В отличие от break он не прерывает работу цикла, а всего лишь выполняет переход к следующей итерации.

В следующем примере пропускается значение 3 цикла for:

Пример

 for ($x = 0; $x < 10; $x++) if ($x == 3) continue; 
>
echo "Число: $x
";
>
?>

Результат выполнения кода:

Операторы break и continue применяются в циклах for, foreach, while, do-while или switch

Источник

PHP Break and Continue

You have already seen the break statement used in an earlier chapter of this tutorial. It was used to "jump out" of a switch statement.

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:

Example

PHP Continue

The continue statement breaks one iteration (in the loop), if a specified condition occurs, and continues with the next iteration in the loop.

This example skips the value of 4:

Example

Break and Continue in While Loop

You can also use break and continue in while loops:

Break Example

Continue Example

Unlock Full Access 50% off

COLOR PICKER

colorpicker

Join our Bootcamp!

Report Error

If you want to report an error, or if you want to make a suggestion, do not hesitate to send us an e-mail:

Thank You For Helping Us!

Your message has been sent to W3Schools.

Top Tutorials
Top References
Top Examples
Get Certified

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Источник

PHP циклы

В этой части учебника рассмотрим циклы в PHP 7, вы научитесь выходить из него и делать бесконечные циклы.

Для начала разберём, для чего вообще нужны циклы, всё очень просто, в первую очередь они нужны для того чтобы не повторять код, вот и всё.

PHP циклы:

В PHP есть несколько циклов, а конкретно четыре, сейчас мы все их рассмотрим.

Цикл while:

Этот цикл пожалуй самый простой из всех, вот его синтаксис.

Вот такой код получился, создаём переменную $i которую будим выводить на экран и увеличивать на один после каждой итерации цикла
(Итерация — один проход по циклу), после ключевого слова while в круглых скобках обязательно пишем условие при которых будет работать цикл, в нашем случае, пока $i не станет равен 10.

Вот что вывелось на экран.

Результат работы в PHP 7 цикл while

Также, его можно записать в удобной форме для верстальщика.

Этот цикл достаточно популярен в PHP разработке, поэтому обязательно запомните его.

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

Как видите, что бы сделать его бесконечным, достаточно только в условие цикла, написать true, вот что получилось.

PHP бесконечный цикл, результат работы

Также ещё делают переменную, а в цикли условие, при каких обстоятельствах переменная будет меняться на false, и если она равно false, то цикл заканчивается, как это сделать будет ниже.

Цикл do while:

Этот цикл очень похож на предыдущий, единственное, обязательно хотя бы один раз произойдёт итерация, так как он проверяет условие после итерации, а не перед неё.

Вид для верстальщиков у этого цикла нет, но и как показывает мой опыт, он редко используется, по крайне мере я его редко вижу, в основном вы будите использовать обычный while.

Цикл for:

Это наверное самый популярный цикл во многих языках программирования, но не в PHP, тем не менее, о нём рассказать надо.

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

И так пока переменная не будет равна десяти, конечно, вам не обязательно создавать переменную или увеличивать её, вы можете вообще это не писать.

Также вы можете использовать другие операции и условия, к примеру, $i можете присвоит один и уменьшать её на один, пока переменная не будет равна нулю.

Ещё у этого цикла есть вид для верстальщиков.

Источник

Оцените статью