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

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

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

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

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

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

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

Потренируйтесь самостоятельно: Онлайн-компилятор PHP