0Pricing
PHP Academy · Урок

Циклы for и while

Повторяйте код с помощью циклов for, while и do-while.

«Циклы for и while» — бесплатный урок PHP Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения PHP Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс PHP Academy содержит 4 уроков всего.

Зачем нужны циклы

Циклы позволяют повторять блок кода без его копирования. В PHP есть четыре конструкции циклов:

  • for — известное количество итераций
  • while — управляется условием
  • do-while — выполняется хотя бы один раз
  • foreach — перебирает массивы и объекты (в следующем уроке)

Цикл for

Цикл for состоит из трёх частей: инициализации, условия и приращения:

<?php
for ($i = 0; $i < 5; $i++) {
    echo $i . ' ';
}
// Output: 0 1 2 3 4

Обратный отсчёт в цикле for

Можно вести отсчёт в обратном направлении или изменять значение на любой шаг:

<?php
// Count down
for ($i = 10; $i >= 1; $i--) {
    echo $i . ' ';
}

// Step by 2
for ($i = 0; $i <= 10; $i += 2) {
    echo $i . ' ';  // 0 2 4 6 8 10
}

Цикл while

Цикл while выполняется, пока его условие истинно; условие проверяется перед каждой итерацией:

<?php
$n = 1;

while ($n <= 5) {
    echo $n . ' ';
    $n++;
}
// Output: 1 2 3 4 5

Цикл do-while

Цикл do-while всегда выполняет тело хотя бы один раз; условие проверяется после него:

<?php
$attempt = 0;

do {
    echo 'Trying... attempt ' . ($attempt + 1) . PHP_EOL;
    $attempt++;
} while ($attempt < 3 && !connectToServer());

function connectToServer(): bool { return false; }

Бесконечный цикл и break

Бесконечный цикл выполняется постоянно, пока Вы не выйдете из него с помощью break:

<?php
$count = 0;

while (true) {
    $count++;
    if ($count >= 5) {
        break;  // exit loop
    }
}

echo $count; // 5

continue — пропуск итерации

continue пропускает остаток текущей итерации и переходит к следующей:

<?php
for ($i = 1; $i <= 10; $i++) {
    if ($i % 2 === 0) {
        continue;  // skip even numbers
    }
    echo $i . ' ';  // 1 3 5 7 9
}

Вложенные циклы

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

<?php
for ($row = 1; $row <= 3; $row++) {
    for ($col = 1; $col <= 3; $col++) {
        echo "($row,$col) ";
    }
    echo PHP_EOL;
}
// (1,1) (1,2) (1,3)
// (2,1) (2,2) (2,3)
// (3,1) (3,2) (3,3)

Выход из вложенных циклов

Используйте break 2 (или любое другое число), чтобы сразу выйти из нескольких уровней циклов:

<?php
for ($i = 0; $i < 5; $i++) {
    for ($j = 0; $j < 5; $j++) {
        if ($i === 2 && $j === 2) {
            break 2;  // exits both loops
        }
        echo "$i,$j ";
    }
}

Советы по производительности циклов

Избегайте ресурсоёмких операций в условиях циклов:

<?php
// Bad: count() called on every iteration
for ($i = 0; $i < count($arr); $i++) { /* ... */ }

// Good: calculate once
$len = count($arr);
for ($i = 0; $i < $len; $i++) { /* ... */ }

// Also fine: foreach avoids this entirely
foreach ($arr as $item) { /* ... */ }

Альтернативный синтаксис циклов

Как и if, циклы поддерживают альтернативный синтаксис с двоеточием для встраивания в HTML:

<?php $items = ['apple', 'banana', 'cherry']; ?>
<ul>
<?php for ($i = 0; $i < count($items); $i++): ?>
    <li><?= htmlspecialchars($items[$i]) ?></li>
<?php endfor; ?>
</ul>

Быстрая проверка

Какой цикл гарантированно выполнит своё тело хотя бы один раз?

Повторение: циклы for и while

Кратко о циклах:

  • for — лучше всего подходит, когда количество итераций известно
  • while — условие проверяется перед каждой итерацией
  • do-while — тело выполняется хотя бы один раз
  • break завершает цикл; break N завершает N уровней вложенности
  • continue переходит к следующей итерации

Далее: foreach для перебора массивов.

Часто задаваемые вопросы

Урок «Циклы for и while» бесплатный?

Да — полный текст урока «Циклы for и while» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс PHP Academy, подпишись на CoddyKit PRO. Курс PHP Academy содержит 4 уроков всего.

Чему я научусь в уроке «Циклы for и while»?

Повторяйте код с помощью циклов for, while и do-while. Ты практикуешь PHP Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать PHP Academy?

Предыдущий опыт не требуется. PHP Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Циклы for и while»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке PHP Academy?

Да. Каждый урок PHP Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. if, elseif и else
  2. Инструкции switch и match
  3. Циклы for и while
  4. foreach и управление циклами
← Назад к PHP Academy