Оператор 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. Она особенно полезна, когда вы что-то ищете или когда определённое условие означает, что цикл должен немедленно остановиться.
Задание
ЛегкоПрочитайте две строки ввода:
- Список чисел, разделённых запятыми (например,
4,8,15,16,23,42) - Искомое число
Используйте цикл 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"
?>В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы сравнения и логические операторы
Операторы сравненияРавенство и идентичностьЛогические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логика2Переменные и типы данных
ЧислаСтроки и кавычкиБулевы значенияСоглашения об именованииПовторение — инициализация переменныхПустые переменныеКонкатенация строкПолучение пользовательского вводаПриведение к другим типам5Условная логика
Оператор ifIf — ElseТернарный операторОператор нулевого слиянияОператор switchПовторение: принятие решений3Основные операторы
Арифметические операторыОператор остатка от деленияОператор возведения в степеньСоставное присваиваниеИнкремент/декрементПриоритет операторовПовторение — простые вычисленияОператоры строкПотренируйтесь самостоятельно: Онлайн-компилятор PHP