• Теория
  • Теория

Цикл while в PHP

Почему на страницу не вывелось преимущество с индексом 3? Потому что в шаблон мы добавляем элементы с конкретными индексами — 0, 1, 2. Там нет обращения к четвёртому элементу. Выходит неудобно — чтобы выводить все элементы массива, нужно следить за изменениями внутри этого массива и вручную обращаться к каждому элементу по очереди.

Думпо уже вручную добавил в $features все новые преимущества от маркетологов. Давайте автоматизируем их добавление на страницу, чтобы избавить себя от однообразной работы. С этим нам поможет цикл.

Цикл — конструкция, которая позволяет выполнить один и тот же код больше одного раза. Например, вывести элементы из массива на страницу.

Существуют разные циклы, начнём знакомство с цикла while.

while (условие цикла) {
  тело цикла
}

Синтаксис цикла while похож на синтаксис условной конструкции — он состоит из имени цикла, условия цикла и тела цикла. Действия, указанные в теле цикла, будут выполняться снова и снова, пока условие не станет ложным.

Циклы отлично работают с массивами. Возьмём, к примеру, массив $months с числами от 1 до 12.

$months = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];

Чтобы вывести в консоль все значения из этого массива, используем цикл while:

$index = 0;                  // Создание счётчика

while ($index < 12) {
  keks_log($months[$index]);  // Вывод элемента в консоль
  $index = $index + 1;       // Увеличение счётчика
}

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

Чтобы ограничить количество итераций, мы создали переменную-счётчик $index. С каждой итерацией число в $index будет увеличиваться на единицу. В итоге в консоль по очереди выведутся элементы массива $months — числа от 1 до 12. Когда значение счётчика достигнет 12, условие станет ложным и цикл прекратит свою работу.

Почему $index должен быть меньше 12? Потому что индекс последнего элемента в массиве — 11. Элемента с индексом 12 нет.

Дополнительную информацию о циклах вы можете почерпнуть из учебника по PHP.

Напишем цикл while в сценарии product.php. В теле цикла выведем каждый элемент массива $features в консоль.

Минимальный вид табов
  • index.html
HTML
HTML

Вы перешли на другую страницу

Кликните внутри мини-браузера, чтобы поставить фокус в это окно.

100%
Бабушка Кекс

Притормози, дружище

Проходить вызовы части «Массивы и циклы в PHP» тренажёра «Знакомство с PHP» можно после регистрации и оформления подписки.