Циклы в PHP: for и while, а также операторы break и continue

Циклы в PHP: for и while, а также операторы break и continue

Циклы в PHP позволяют повторять определенные действия (запуск функций, вывод значений, расчет переменных) заданное количество раз, пока не выполнится условие.

Посколько к циклам в PHP прибегают довольно часто, то существует множество их подвидов.

for - основной цикл в php, в котором мы прописываем три обязательных выражения. 1 - начальное значение счетчика, 2 - условие, по достижению которого цикл остановится, 3 - интерация счетчика (увеличиваем его или уменьшаем)

<?php
$rez = 'Старт насчет: ';
for ($i = 1; $i <= 5; $i++) { $rez .= $i; }
echo $rez; //Старт насчет: 12345
?>

Изначально $i равен 1, проверяем условие 1 <= 5 - это правда - выполняем цикл, по завершении которого, увеличиваем $i на 1. Когда условие выполняться не будет (i станет больше 5), цикл остановится.

while - это один из самых простых циклов, который будет исполнять код, пока условие в круглых скобках не выполнится (цикл с предусловием):

<?php
$i = 1; $rez = 'Старт насчет: ';
while ($i <= 5) {
$rez .= $i;
$i++; }
echo $rez; //Старт насчет: 12345
?>

В этом примере будут выполняться действия внутри фигурных скобок. Обратите внимание на $i счетчик - он увеличивается на единицу каждый цикл. При достижении условия, когда $i станет больше 5, цикл while остановится.

В while и for циклы можно писать несколько условий сразу, например: while ($i <= 5 && name == 'Гриша')

do...while цикл - работает также, как и обычный while, но позволяет выполнить действие минимум один раз, даже если условие в while не выполняется (цикл с постусловием):

<?php
$i = 1; $rez = 'Старт насчет: ';
do {
$rez .= $i;
$i++; }
while ($i <= 5);
echo $rez; //Старт насчет: 12345
?>

Здесь результат будет такой же, как и в 1 примере, но если мы поставим заведомо ложную проверку while(0); - результат будет таким "Старт насчет: 1". Т.е. цикл выполнится один раз.

Операторы break и continue для работы с циклами.

break позволяет остановить работу цикла. Это бывает полезным, если вы нашли какое-то значение и чтобы не тратить ресурсы на дальнейшее вычисление - просто остановить цикл.

<?php
$rez = 'Старт насчет: ';
for ($i = 1; $i <= 5; $i++) {
$rez .= $i;
if($i == 3) break;
}
echo $rez; //Старт насчет: 123
?>

При достижении $i значения равным 3, мы остановим выполнение скрипта.

Если у вас двойной цикл, то при указании числа в break, мы указываем какой цикл останавливать (по умолчанию останавливается всегда текущий - откуда был запущен):

<?php
$rez = 'Старт насчет: ';
for ($i = 1; $i <= 100; $i++) {
$rez .= $i;
$a = 1;
while($a<50) {
$rez .= '_';
if($a == 2) break 1; /* Выходим из цикла while. */
if($a == 2) break 2; /* Выходим из цикла while и for */
$a++;
} }
echo $rez;
?>

Здесь, при break 1 мы останавливаем только текущий цикл while при каждой новой интерации из цикла for (когда $a = 2). Если бы этого условия не было, то печатались все 50 нижних подчеркиваний. При break 2 останавливаются оба цикла и на выходе 1__

continue - позволяет сделать интерацию цикла, т.е. пропустить один цикл:

<?php
$rez = '';
for ($i = 1; $i <= 5; $i++) {
if($i == 4) continue;
$rez .= $i; //1235
}
echo $rez;
?>

В этом примере при $i = 4, произойдет пропуск цикла и в $rez, не добавится значение, а $i станет равным 5, поэтому на выходе мы увидим: 1235

 

 

| | Циклы в PHP: for и while, а также операторы break и continue | Циклы в PHP позволяют повторять определенные действия (запуск функций, вывод значений, расчет переменных) заданное количество раз, пока не выполнится | http://blogprogram.ru/wp-content/uploads/2017/08/783-131x131.jpg

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *


Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>