Пусть у нас есть вот такой цикл, выводящий на экран элементы массива:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem) {
echo $elem;
}
?>
Пусть перед нами стоит задача определить,
есть ли в массиве число 3
. Если есть
- выведем на экран слово 'есть'
(а
если нет - ничего не будем делать).
Решим нашу задачу:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem) {
if ($elem == 3) {
echo 'есть';
}
}
?>
Задача решена, однако, есть проблема: после
того, как число 3
уже найдено, массив
все равно продолжает бессмысленно перебираться
дальше, тратя ценные ресурсы процессора и
замедляя работу нашего скрипта.
Оптимальнее было бы сразу после нахождения
числа завершить работу нашего цикла. Это
можно сделать с помощью специально инструкции
break
, позволяющей досрочно завершить
работу цикла.
Итак, давай завершим цикл, как только нам
встретится число 3
:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem) {
if ($elem == 3) {
echo 'есть';
break; // выйдем из цикла
}
}
?>
Инструкция break
может завершать любые циклы:
foreach
, for
, while
.
Дан массив с числами. Запустите цикл, который
будет по очереди выводить элементы этого
массива в консоль до тех пор, пока не встретится
элемент со значением 0
. После этого
цикл должен завершить свою работу.
Дан массив с числами. Найдите сумму элементов, расположенных от начала массива до первого отрицательного числа.
Дан массив с числами. Найдите позицию первого
числа 3
в этом массиве (считаем, что
это число обязательно есть в массиве).
Определите, сколько целых чисел, начиная
с числа 1
, нужно сложить, чтобы сумма
получилась больше 100
.