Когда мы работаем с циклами в PHP, мы можем использовать две инструкции, влияющие на их поведение: break
и continue
. На практике они используются редко, потому что ту же функциональность можно получить и без них. Тем не менее, мы изучим эти инструкции в этом уроке, чтобы вам было проще читать чужой код.
Инструкция break
Инструкция break
нужна для выхода из цикла. Встретив ее, интерпретатор перестает выполнять текущий цикл и переходит к инструкциям, идущими сразу за циклом:
<?php
$coll = ['one', 'two', 'three', 'four', 'stop', 'five'];
foreach ($coll as $item) {
if ($item === 'stop') {
break;
}
print_r($item);
}
То же самое можно получить с помощью цикла while
, который семантически лучше подходит для такой задачи, потому что подразумевает неполный перебор:
<?php
$coll = ['one', 'two', 'three', 'four', 'stop', 'five'];
$i = 0;
while ($coll[$i] !== 'stop') {
print_r($coll[$i]);
$i++;
}
Инструкция continue
Инструкция continue
позволяет пропустить итерацию цикла. Ниже пример с функцией myCompact
, которая удаляет null
элементы из массива:
<?php
function myCompact($coll)
{
$result = [];
foreach ($coll as $item) {
if (is_null($item)) {
continue;
}
$result[] = $item;
}
return $result;
}
Код без continue
получается проще:
<?php
function myCompact($coll)
{
$result = [];
foreach ($coll as $item) {
if (!is_null($item)) {
$result[] = $item;
}
}
return $result;
}
Дополнительные материалы
Остались вопросы? Задайте их в разделе «Обсуждение»
Вам ответят команда поддержки Хекслета или другие студенты
Для полного доступа к курсу нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.