Внимание! На этой странице вы найдете материал урока из архивного курса по PHP. Курс был написан в 2024 году одним из первых учеников Codebra и, к моменту написания курса, опытным бэкэнд-разработчиком. К сожалению, курс не был дописан, а его автор молча пропал.
Полный список уроков доступен по тегу Архивный курс по PHP и на странице первого урока.
Основы циклов в PHP
- Циклы начинаются с ключевого слова, указывающего интерпретатору PHP тип цикла.
- Цикл
whileработает, пока условие в скобках возвращаетtrue. - Важно увеличивать счётчик, чтобы избежать бесконечного выполнения цикла.
Примеры циклов
- Цикл
whileиспользуется для вывода чётных чисел. - Цикл
do-whileвыполняется минимум один раз и увеличивает значение переменной перед проверкой условия. - Перебор индексируемого массива с использованием циклов упрощает манипуляции с элементами массива.
Все циклы начинаются с ключевого слова, указывающего интерпретатору PHP, какой цикл используется. Цикл while начинается с ключевого слова while, а в круглых скобках пишется условие. Пока выражение в условии возвращает true, цикл будет работать.
<?php
$counter = 0; // Переменная счетчик
while ($counter < 10) { // Цикл будет выполнятся пока переменная
// $counter меньше чем 10
echo $counter; // Выводим на экран значения от 0 до 9
$counter++; // Увеличиваем счетчик
}
?>
Не забывайте увеличивать счётчик, иначе цикл будет выполняться бесконечно и всё у вас зависнет.
К счетчику не обязательно прибавлять единицу. Давайте для примера выведем только чётные числа:
<?php
$counter = 2;
while ($counter < 10) {
echo $counter; // Выводим на экран значения 2, 4, 6, 8.
$counter += 2; // Увеличиваем счетчик
}
?>
Обратный отсчет
Бывают ситуации, когда нужно запускать цикл в обратном порядке:
<?php
$counter = 10;
while ($counter >= 1) {
echo $counter; // Выводим на экран значения от 10 до 1.
$counter--; // Уменьшаем счетчик
}
?>
Цикл do-while
Цикл do-while перед проверкой условия запускает набор операторов, заключенных в фигурных скобках. Цикл всегда выполняется как минимум один раз.
<?php
do {
// В этом блоке пишем код, который нужно зациклить
echo $counter;
$counter++;
} while ($counter < 10); // Условие
?>
Код в этом цикле выводит значение переменной $counter, а затем, используя оператор ++, значение переменной $counter увеличивается на 1.
Поскольку блок кода выполняется перед условием, то вывод переменной $counter и увеличение ее на 1 произойдет по крайней мере один раз.
Если значение переменной $counter равно 3, то в результате мы получим 3456789. Если значение переменной $counter равно 1, то в результате мы получим 123456789.
Перебор индексируемого массива
В уроке про массивы мы вручную манипулировали его элементами. Проще и быстрее производить различные операции с помощью циклов. Давайте посмотрим как это делать.
<?php
$arr = [1, 2, 3, 4, 5];
$length = count($arr); // Узнаем длину массива
$counter = 0; // Создаем счётчик
while ($counter < $length) {
print_r($arr[$counter]); // Выведет 1, 2, 3, 4, 5
$counter++; // Увеличиваем счётчик
}
?>
Мы создали массив, узнали его длину и создали счётчик, который будет использоваться для обращения к индексам массива. Как вы могли заметить, мы создали слишком много вспомогательных переменных, что не очень удобно. Пока без этого никуда.
Давайте перемножим все значения в массиве $arr:
<?php
$arr = [1, 2, 3, 4, 5];
$length = count($arr);
$counter = 0;
$result = 1; // Создали переменную для хранения результата.
while ($counter < $length) {
$result *= $arr[$counter]; // Умножаем все значения.
$counter++; // Увеличиваем счётчик
}
echo $result; // Распечатает 120
?>
Мы рассмотрели две конструкции цикла while, которые можно использовать всегда и везде. Есть конечно и более удобные циклы, которые часто используются в работе, они более сложные, но гибкие. В следующем уроке мы их рассмотрим.
Задачи
- Напишите код, который принимает массив чисел и возвращает сумму всех положительных элементов этого массива.
- Напишите скрипт, который выводит массив в обратном порядке.
- Напишите код, который считывает массив чисел, находит минимальное и максимальное значения и выводит их.
- Напишите код, который считывает список студентов в ассоциативном массиве и выводит их.
- Найдите произведение целых чисел от
1до20. - Найдите сумму четных чисел от
2до100. - Найдите сумму нечетных чисел от
1до99.
Переходите к следующему уроку курса, а так же не забудьте посмотреть новый материал на Codebra по тегу PHP.
