Menu
Coddy logo textTech

Оператор break

Часть раздела Основы путешествия по PHP на Coddy — урок 51 из 71.

Иногда вам нужно прервать цикл досрочно, до его естественного завершения. Оператор break позволяет сделать именно это — он немедленно останавливает цикл и продолжает выполнение кода после него.

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

<?php
$numbers = [3, 7, 2, 9, 5, 1];

foreach ($numbers as $num) {
    if ($num === 9) {
        echo "Found 9!\n";
        break;
    }
    echo "Checking $num\n";
}

echo "Search complete";
?>

Это выводит:

Checking 3
Checking 7
Checking 2
Found 9!
Search complete

Обратите внимание, что 5 и 1 никогда не проверяются. В тот момент, когда цикл встречает 9, break полностью выходит из цикла, и выполнение переходит к «Search complete».

Оператор break работает со всеми типами циклов — for, while и foreach. Он особенно полезен, когда вы ищете что-то или когда определённое условие означает, что цикл должен остановиться немедленно.

challenge icon

Задание

Легко

Прочитайте две строки ввода:

  1. Список чисел, разделенных запятыми (например, 4,8,15,16,23,42)
  2. Целевое число для поиска

Используйте цикл foreach для поиска целевого числа в массиве. Когда найдете его, выведите Found [target] at index [index]! и используйте break, чтобы немедленно выйти из цикла.

Если цикл завершится без нахождения цели, выведите [target] not found.

Подсказка: Используйте синтаксис ключ-значение в вашем цикле foreach, чтобы отслеживать индекс.

Пример 1:

Если входные данные 10,25,30,45,50 и 30, вывод должен быть:

Found 30 at index 2!

Пример 2:

Если входные данные 5,10,15,20,25 и 20, вывод должен быть:

Found 20 at index 3!

Пример 3:

Если входные данные 1,2,3,4,5 и 99, вывод должен быть:

99 not found

Шпаргалка

Оператор break немедленно выходит из цикла и продолжает выполнение с кодом после цикла. Он работает с циклами for, while и foreach.

Пример использования break для досрочного выхода из цикла:

<?php
$numbers = [3, 7, 2, 9, 5, 1];

foreach ($numbers as $num) {
    if ($num === 9) {
        echo "Found 9!\n";
        break;
    }
    echo "Checking $num\n";
}

echo "Search complete";
?>

Вывод:

Checking 3
Checking 7
Checking 2
Found 9!
Search complete

После выполнения break цикл немедленно останавливается, и оставшиеся элементы не обрабатываются.

Попробуйте сами

<?php
// Читаем ввод
$numbers = explode(',', trim(fgets(STDIN)));
$target = trim(fgets(STDIN));

// TODO: Напишите свой код ниже
// Используйте цикл foreach с синтаксисом ключ-значение для поиска цели
// Когда найдено, выведите "Found [target] at index [index]!" и прервите цикл
// Если не найдено после цикла, выведите "[target] not found"

?>
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы