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, чтобы выполнить поиск искомого числа в массиве. When вы найдёте его, выведите Found [target] at index [index]! и используйте break, чтобы немедленно выйти из цикла.

Если цикл complete без нахождения искомого числа, выведите [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 с синтаксисом ключ-значение для поиска target
// Когда найдено, выведите "Found [target] at index [index]!" и выполните break
// Если не найдено после цикла, выведите "[target] not found"

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

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

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

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