Добро пожаловать на сайт все о Web-разработке

На сайте все о Web-разработке вы найдёте очень много интересной и полезной информации

PHP

Циклы

Массивы

Формы

Условия

Цикл FOREACH

С помощью цикла FOREACH мы можем перебрать все элементы массива и выполнить для них (или только для некоторых из них) какие-либо действия.

Например, так будет выглядеть вывод названий всех товаров:

Результат в браузере:

Принцип работы цикла FOREACH

Возьмём следующий пример:

Когда мы запускаем цикл, PHP берёт первое значение массива 5 и помещает его в переменную $value. Затем один раз выполняется блок кода echo $value;. Затем PHP делает тоже самое со вторым значением, третьим и т.д.

Получается, команды, принадлежащие циклу FOREACH, будут запущены для каждого элемента отдельно.

Для добавления нескольких команд нужно поместить их в фигурные скобки. Попробуем вывести названия товаров, цена которых выше 1000:

Результат в браузере:

Получение доступа к ключам массива выглядит следующим образом:

Результат в браузере:

Цикл WHILE

Цикл WHILE выполняется, пока выражение в скобках принимает значение true.

Разберём на примере: необходимо вывести на экран числа от 1 до 10. С помощью цикла while эту задачу можно решить следующим образом:

Результат в браузере:

Перед запуском PHP получает результат выражения в круглых скобках и приводит к булеву типу.

Если при первом запуске результат будет true - блок кода выполнится. Затем опять произойдёт вычисление результата выражения и повторное выполнение блока кода. И так до тех пор, пока результатом выражения не станет false.

Переменная $i в данном случае выступает в роли счётчика и гарантирует, что скрипт будет выполнен столько раз, сколько нам нужно.

Будьте аккуратны при работе с циклом while. Вы можете случайно сделать бесконечный цикл вроде такого:

Если запустить этот скрипт, страница зависнет и через некоторое время в браузере отобразится ошибка.

Цикл DO ... WHILE

Цикл while ещё называется "циклом с предусловием", поскольку м ы сначала выполняем проверку условия на истинность, а затем выполняем код.

В отличие от while, >цикл do-while или "цикл с постусловием" сначала выполняет код, а затем проверяет условие на истинность:

В обоих случаях результат будет:

Как видите, несмотря на наличие условия $i < 5 в выводе присутствует цифра 5. В этом и заключается единственное отличие от while - цикл do-while всегда выполняет одну итерацию с не истинным условием.

По факту цикл do-while практически никогда не используется.

Цикл FOR

Цикл for считается самым сложным из циклов PHP, однако он наиболее функционален и используется достаточно часто.

В цикл for можно передать 3 выражения. Первое будет выполнено только 1 раз, перед началом работы скрипта. Второе - выражение, проверяемое на истинность. Третье выражение будет выполняться после каждой итерации.

В коде выше выражение $i = 1 будет выполнено только 1 раз, $i <= 10 - условие выполнения кода на текущей итерации, $i++ выполняется после каждой итерации.

При желании любое из трёх выражений может быть опущено. Например, так может выглядеть вывод чисел от 1 до 10:

Можно не указывать сразу все 3 выражения, в этом случае мы получим вечный цикл: