На восьмом уроке мы погрузимся в одну из самых важных тем
программирования, это циклы. Если вы мечтаете автоматизировать рутинные
задачи, обрабатывать массивы данных или создавать сложные алгоритмы, без
циклов не обойтись. В этом уроке я подробно расскажу о циклах for, while и do-while, приведу множество примеров и задач для закрепления материала.
Представьте, что вам нужно вывести числа от 1 до 100. Писать 100 строк кода с echoне
самое разумное решение. Здесь на помощь приходят циклы. Это
конструкции, которые позволяют повторять выполнение кода многократно,
пока выполняется заданное условие. В PHP есть три основных типа циклов:
forwhiledo-whileКаждый из них имеет свои особенности. Разберемся по порядку.
Цикл for идеален, когда вы заранее знаете, сколько раз
нужно выполнить код. Например, для перебора массива фиксированной длины
или генерации последовательности чисел.
forfor (инициализация; условие; изменение) { // Тело цикла }
true, цикл выполняется.for ($i = 1; $i <= 5; $i++) { echo $i . "<br>"; }
Результат:
1 2 3 4 5
Разберем по шагам:
$i = 1 инициализация счетчика.$i <= 5. Если true, выполняется тело цикла.$i увеличивается на 1 ($i++).$sum = 0; for ($i = 1; $i <= 10; $i++) { $sum += $i; } echo "Сумма: " . $sum; // Сумма: 55
Цикл while используется, когда количество итераций
заранее неизвестно. Например, обработка данных из файла до тех пор, пока
не достигнут конец файла.
whilewhile (условие) { // Тело цикла }
Цикл выполняется, пока условие истинно. Важно: если условие изначально false, тело цикла не выполнится ни разу.
while$i = 1; while ($i <= 5) { echo $i . "<br>"; $i++; }
Результат: аналогичен примеру с for.
Допустим, мы складываем числа, которые вводит пользователь, пока он не введет 0:
$total = 0; $number = (int) readline("Введите число (0 для выхода): "); while ($number != 0) { $total += $number; $number = (int) readline("Введите число (0 для выхода): "); } echo "Сумма: " . $total;
Этот цикл похож на while, но с одним ключевым отличием: тело цикла выполнится хотя бы один раз, даже если условие ложно изначально.
do-whiledo { // Тело цикла } while (условие);
Допустим, пользователь должен ввести пароль и мы проверяем его, пока он не будет корректным:
do { $password = readline("Придумайте пароль (минимум 8 символов): "); } while (strlen($password) < 8); echo "Пароль принят!";
Даже если пользователь сразу введет пароль из 8 символов, цикл выполнится один раз.
for, когда известно количество итераций.while, когда условие проверяется перед выполнением.do-while, когда условие проверяется после выполнения.while (true) { // Вечная работа... }Всегда проверяйте, чтобы условие цикла могло стать
false.for ($i = 0; $i < 5; $i--) { // $i уменьшается → условие никогда не станет false! }
do-while вместо while:Закрепим материал на реальных примерах. Постарайтесь решить их самостоятельно, прежде чем смотреть решения.
Напишите скрипт, который выводит таблицу умножения на 5 (от 1 до 10) через цикл for.
Решение:
echo "<h3>Таблица умножения на 5</h3>"; for ($i = 1; $i <= 10; $i++) { echo "5 × $i = " . (5 * $i) . "<br>"; }
Используя цикл while, выведите все четные числа от 2 до 20.
Решение:
$i = 2; while ($i <= 20) { echo $i . " "; $i += 2; }
Вычислите факториал числа 7 (7! = 7×6×5×…×1) через цикл for.
Решение:
$factorial = 1; for ($i = 7; $i >= 1; $i--) { $factorial *= $i; } echo "7! = " . $factorial; // 5040
Напишите скрипт, который выводит обратный отсчет от 10 до 1 с помощью do-while, а затем выводит «Пуск!».
Решение:
$count = 10; do { echo $count . "<br>"; $count--; } while ($count >= 1); echo "Пуск!";
Напишите код, который считает сумму цифр числа 8921 через цикл while.
Подсказка:
Решение:
$number = 8921; $sum = 0; while ($number > 0) { $digit = $number % 10; // Получаем последнюю цифру $sum += $digit; $number = (int)($number / 10); // Убираем последнюю цифру } echo "Сумма цифр: " . $sum; // 8+9+2+1 = 20
forиспользуем, когда известно количество итераций.whileиспользуем, когда условие должно проверяться до выполнения кода.do-whileиспользуем, когда код нужно выполнить хотя бы один раз.Потренируйтесь решать задачи с условиями и счетчиками. Циклы это основа программирования и без них невозможно написать даже простой скрипт.
Полный курс с уроками по PHP для начинающих тут —https://sovet-seo.ru/kurs_php.html