Что такое циклы?
Циклы — специальные конструкции, позволяющие многократно выполнять код. Количество повторов задаётся программистом. В PHP существуют основные типы циклов: for, while и do while.
Цикл for
Цикл for записывается с использованием ключевого слова for, за которым следуют круглые скобки, содержащие три условия:
- Инициализация счётчика: Создание переменной и присвоение ей начального значения (например, $i = 0).
- Условие продолжения: Условие, определяющее, когда цикл должен завершиться (например, $i < 10).
- Шаг изменения: Как изменяется переменная после каждой итерации (например, $i++).
for ($i = 0; $i < 10; $i++) {
echo $i . "<br>";
}
Этот код выведет числа от 0 до 9. Условия можно изменять, например:
for ($i = 10; $i <= 20; $i++) {
echo $i . "<br>";
}
Выведет числа от 10 до 20. Или:
for ($i = 100; $i > 20; $i -= 5) {
echo $i . "<br>";
}
Выведет числа от 100 до 25 с шагом -5.
Цикл while
Цикл while выполняет код, пока условие истинно. Условие указывается в круглых скобках после ключевого слова while.
$i = 1;
while ($i <= 10) {
echo $i . "<br>";
$i++;
}
Этот код аналогичен предыдущему примеру с циклом for, выводит числа от 1 до 10. Важно избегать бесконечных циклов, например:
$isHouse = true;
while ($isHouse) {
// Бесконечный цикл!
}
Этот код приведёт к зависанию, так как условие $isHouse всегда истинно.
Цикл do while
Цикл do while похож на while, но код внутри цикла выполняется хотя бы один раз, а затем проверяется условие.
$i = 100;
do {
echo $i . "<br>";
} while ($i < 10);
Этот код выведет 100, так как условие $i < 10 ложно, но код внутри do выполнился один раз.
Операторы break и continue
Внутри циклов можно использовать операторы break и continue:
- break: Полностью прерывает выполнение цикла.
- continue: Пропускает текущую итерацию и переходит к следующей.
Пример с break:
for ($element = 100; $element > 10; $element /= 2) {
if ($element < 50) {
break;
}
echo $element . "<br>";
}
Выведет 100 и 50.
Пример с continue:
for ($element = 100; $element > 10; $element /= 2) {
if ($element % 2 == 0) {
continue;
}
echo $element . "<br>";
}
Выведет только 25, так как остальные числа чётные, и оператор continue пропускает их вывод.
Использование циклов с массивами
Циклы часто используются для обработки массивов. Цикл for удобен для перебора элементов массива по индексу:
$list = [5, 7, 38, 45];
for ($i = 0; $i < count($list); $i++) {
echo "Индекс: " . $i . ", Значение: " . $list[$i] . "<br>";
}
Для ассоциативных массивов удобнее использовать foreach:
$user = ['name' => 'Alik', 'hobby' => 'football'];
foreach ($user as $key => $value) {
echo $key . ": " . $value . "<br>";
}
foreach также подходит для обычных массивов:
$arr = [1,2,3,4,5];
foreach ($arr as $value) {
echo $value . "<br>";
}
В этом уроке мы рассмотрели основные типы циклов в PHP (for, while, do while) и операторы break и continue. Изучение этих конструкций необходимо для эффективной работы с PHP. Практикуйтесь и экспериментируйте с различными условиями и операторами, чтобы закрепить полученные знания.