PHP Учебник

PHP Старт Введение в PHP Установка PHP Синтаксис PHP Комментарии в PHP Переменные PHP PHP Echo / Print Типы данных PHP Строки PHP Числа PHP Математика в PHP Константы PHP Операторы PHP PHP If...Else...Elseif PHP Switch Циклы в PHP Функции PHP Массивы PHP PHP Суперглобальные PHP RegEx

PHP Формы

Обработка форм PHP Валидация форм PHP Обязательные поля Валидация URL/E-mail Полная форма PHP

PHP Продвинутый

PHP Дата и время PHP Include/Require PHP Работа с файлами Открытие/Чтение файлов Создание/Запись файлов PHP Загрузка файлов Файлы cookie PHP Сессии PHP Фильтры PHP Расширенные фильтры PHP Функция Callback PHP JSON PHP Исключения

PHP OOP

Что такое ООП в PHP Классы/Объекты PHP Цепочки методов PHP Конструктор PHP Деструктор PHP Модификаторы доступа Наследование в PHP Константы класса PHP Подсказка типов PHP Подсказка интерфейсов Абстрактные классы PHP PHP Интерфейсы PHP Полиформизм PHP Трейты Статические методы PHP Статические свойства PHP Пространства имен PHP Итерируемые объекты

База данных MySQL

База данных MySQL Подключение к MySQL Создание БД MySQL Создание таблицы MySQL Вставка данных MySQL Получить ID MySQL Подготовленные операторы PHP MySQL Получение данных MySQL Предложение WHERE Предложение ORDER BY Обновление данных MySQL Удаление данных БД MySQL Limit Data

PHP XML

Парсеры PHP XML Парсер PHP SimpleXML Получить PHP SimpleXML PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX Введение AJAX PHP AJAX База Данных AJAX XML AJAX Живой поиск AJAX Опрос

PHP Примеры

PHP Примеры Практика ООП PHP PHP квиз-тест Упражнения Базовый PHP Упражнения Алгоритмы Упражнения Массивы Упражнения Цикл for Упражнения Функции Регулярные выражения Упражнения Дата PHP Упражнения Строки PHP Математика PHP Упражнения Формы PHP Упражнения Классы PHP Упражнения JSON PHP PHP Задачник


Циклы в PHP




Использование циклов в PHP значительно упрощает и укорачивает код. Циклы незаменимы в задачах, когда заранее неизвестно сколько раз должен выполниться блок кода. Это количество может зависеть от множества условий и вычисляться в момент выполнения сценария.


Часто, когда вы пишете сценарий PHP, возникает необходимость, чтобы один и тот же блок кода повторялся определенное количество раз. В таких случаях, вместо добавления нескольких почти одинаковых строк кода в скрипт целесообразно использовать циклы.

Циклы используются для выполнения одного и того же блока кода снова и снова, пока условие не примет значение false. Поэтому код выполняется несколько раз, пока условие оценивается как true, и как только условие оценивается как false, скрипт продолжает выполнение кода уже после цикла.

В PHP есть следующие типы циклов:

  • while — перебирает блок кода, пока выполняется указанное условие
  • do...while — проходит через блок кода один раз, а затем повторяет цикл, пока выполняется указанное условие
  • for — перебирает блок кода указанное количество раз
  • foreach — перебирает блок кода для каждого элемента в массиве

Следующая блок-схема объясняет, как циклы работают в PHP.

Loop Flow

На скриншоте выше видно, что цикл содержит условие (condition). Если условие принимает значение true, выполняется условный код (Conditional Code is executed). После выполнения условного кода управление возвращается к условию цикла (condition), и сценарий продолжается до тех пор, пока условие не примет значение false.

Получается, что циклы имеют такое название, потому что как бы «зацикливают» обычное, линейное исполнение на своем блоке кода и не дают сценарию выполняться дальше, пока условие цикла будет истинным. Когда же условие станет ложным, то сценарий продолжит выполняться как обычно, со следующей строки после цикла.

Важно осознать последовательность, в которой исполняется код при использовании циклов:

  1. Обычное выполнение кода, строка за строкой, пока не встретился цикл.
  2. Теперь выполняем условие цикла.
  3. Если условие вернуло false выходим из цикла и продолжаем линейное исполнение кода после него.
  4. Если условие вернуло true выполняем всё тело цикла.
  5. Повторяем пункт 2.

Каждая описанная последовательность из шагов 2-4, то есть очередное выполнение блока кода в теле цикла называется итерацией.

В этом разделе мы рассмотрим различные типы циклов, поддерживаемых в PHP.