Инструкции Break и Continue. Как правильно управлять выполнением циклов в PHP?

инструкции break и continue. как правильно управлять выполнением циклов в php?

Управление циклами

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

При написании реальных PHP-скриптов решаются более сложные задачи, чем представленные нами в примерах. Такие задачи могут требовать выхода из цикла до того момента, как входящий параметр станет ложным, или пропустить один шаг цикла и перейти к следующему. Это довольно распространённые явления.

Рассмотренные в данной статье инструкции break и continue, работают одинаково в любом из существующих видов циклов.

Ключевое слово break

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

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

//Переменная, содержащая дистанцию пройдённой дистанции
$distanceTraveled = 0;

//Цикл должен остановиться когда мы пройдем 1000 метров,
//но остановится на половине пути за счет break
while($distanceTraveled < 1000){
    if($distanceTraveled === 500) {
        echo "Мы прошли половину дистанции и устали<br>";
        break;
    } else {
        echo "Пройдено пути: $distanceTraveled метров<br>";
        $distanceTraveled += 100;
    }
}

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

Ключевое слово continue

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

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

//Цикл выводит все четные числа от 1 до 50 за счет
//использования проверки на четность и continue
for($number = 1; $number <= 50; $number++){
    //если остаток от деления числа на 2 равен нулю,
    //то число является четным
    if($number%2 === 0) {
        echo "Найдено четное число: $number <br>";
    } else {
        continue;
    }
}

Заметка
Как и в случае с break, необходимо правильно строить логику вашего PHP-скрипта. До момента использования continue, может выполниться определенное количество нежеланного кода.

Последние публикации