PHP: Массивы

Теория: Управляющие инструкции

Когда мы работаем с циклами в 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;
}

Рекомендуемые программы