PHP | Циклы
Последнее обновление: 11.03.2021
Для совершения повторяемых действий в PHP, как и в других языках программирования, используются циклы. В PHP имеются следующие виды циклов:
Цикл for
Цикл for имеет следующее формальное определение:
for ([инициализация счетчика]; [условие]; [изменение счетчика]) { // действия }
Рассмотрим стандартный цикл for:
<?php for ($i = 1; $i < 10; $i++) { echo "Квадрат числа $i равен " . $i * $i . "<br/>"; } ?>
Первая часть объявления цикла — $i = 1
— создает и инициализирует счетчик — переменную $i. И перед выполнением цикла его значение будет
равно 1. По сути это то же самое, что и объявление переменной.
Вторая часть — $i < 10;
— условие, при котором будет выполняться цикл. В данном случае цикл будет выполняться, пока $i не достигнет 10.
Третья часть — $i++
— изменение счетчика на единицу. Опять же нам необязательно увеличивать на единицу. Можно уменьшать: $i—. Или, например, увеличить не на 1, на 3: $i +=3
.
В итоге блок цикла сработает 9 раз, пока значение $i не станет равным 10. И каждый раз это значение будет увеличиваться на 1. Каждое отдельное повторение цикла называется итерацией. Таким образом, в данном случае произойдет 9 итераций.
В итоге браузер отобразит нам следующий результат:
Квадрат числа 1 равен 1 Квадрат числа 2 равен 4 Квадрат числа 3 равен 9 Квадрат числа 4 равен 16 Квадрат числа 5 равен 25 Квадрат числа 6 равен 36 Квадрат числа 7 равен 49 Квадрат числа 8 равен 64 Квадрат числа 9 равен 81
Объявление цикла for
может опускать отдельный части. Например, опустить определение счетчика (он может быть определен вне цикла):
$i = 5; for (; $i < 10; $i++) { echo $i; }
Можно опустить изменение значения счетчика и изменять его внутри цикла:
$i = 0; for (; $i < 10;) { echo $i; $i += 2; }
В данном случае в цикле на каждой итерации переменная $i увеличивает значение на 2. Соответственно мы получим следующий результат:
02468
Также можно в объявлении цикла определять и использовать сразу несколько переменных:
for ($i =1, $j=1; $i + $j < 10; $i++, $j+=2) { echo "$i + $j = " . $i + $j . "<br>"; }
В данном случае в объявлении цикла определяются две переменных: $i и $j. При каждой итерации переменная $i увеличивается на 1, а $j — на 2. При этом цикл продолжается, пока сумма двух переменных не достигнет 10:
1 + 1 = 2 2 + 3 = 5 3 + 5 = 8
Также можно применять альтернативный синтаксис, при котором вместо открывающей фигурной скобки ставится двоеточие, а вместо
закрывающей фигурной скобки — ключевое слово endfor
:
for ($i = 1; $i < 10; $i++): echo "Квадрат числа $i равен " . $i * $i . "<br/>"; endfor;
Цикл while
Цикл while
проверяет истинность некоторого условия, и если условие истинно, то выполняются блок выражений цикла:
<?php $counter = 1; while($counter<10) { echo $counter * $counter . "<br />"; $counter++; } ?>
Если в блоке while всего одна инструкция, то фигурные скобки блока можно опустить:
<?php $counter = 0; while(++$counter<10) echo $counter * $counter . "<br />"; ?>
Также можно применять альтернативный синтаксис, при котором вместо открывающей фигурной скобки ставится двоеточие, а вместо
закрывающей фигурной скобки — ключевое слово
:
$counter = 1; while($counter<10): echo $counter * $counter . "<br />"; $counter++; endwhile;
Цикл do..while
Цикл do..while
похож на цикл while
, только теперь выполняется блок цикла, и только потом выполняется проверка условия. То есть
даже если условие ложно, то блок цикла выполнится как минимум один раз:
<?php $counter = 1; do { echo $counter * $counter . "<br />"; $counter++; } while($counter<10) ?>
Операторы continue и break
Иногда возникает ситуация, когда требуется выйти из цикла, не дожидаясь его завершения.
<?php for ($i = 1; $i < 10; $i++) { $result = $i * $i; if($result>80) { break; } echo "Квадрат числа $i равен $result <br/>"; } ?>
И если вдруг результат операции окажется больше 80, то происходит выход из цикла.
Для управления циклами также применяется оператор continue. Он осуществляет переход к следующей итерации цикла:
<?php for ($i = 1; $i < 10; $i++) { if($i==5) { continue; } echo "Квадрат числа $i равен " . $i * $i . "<br/>"; } ?>
При выполнении программы, когда значение $i станет равным 5, произойдет переход к следующей итерации, а все остальные выражения, которые следуют
после оператора continue
выполняться не будут.
Вложенные циклы
Циклы могут располагаться внутри циклов. Например, используем вложенный цикл, чтобы вывести таблицу умножения:
<!DOCTYPE html> <html> <head> <title>METANIT.COM</title> <meta charset="utf-8" /> </head> <body> <table> <?php for ($i = 1; $i < 10; $i++) { echo "<tr>"; for ($j = 1; $j < 10; $j++) { echo "<td>" . $i * $j . "</td>"; } echo "</tr>"; } ?> </table> </body> </html>
В данном случае код php помещен в элемент <table>
, то есть в нем будет создаваться таблица.
Во внешнем цикле определяется переменная-счетчик $i
. В этом — внешнем цикле на страницу выводится тег <tr>
, то есть тег строки:
for ($i = 1; $i < 10; $i++) { echo "<tr>";
Далее запускается вложенный цикл, определяется переменная-счетчик $j
. Цикл последовательно увеличивает значение переменной $j на единицу и
умножает ее значение на значение переменной $i. Результат выводится в элемент <td>
:
for ($j = 1; $j < 10; $j++) { echo "<td>" . $i * $j . "</td>";
После 9 итераций, когда переменная $j достигнет 10, вложенный цикл завершается, и внешний цикл выводит закрывающий тег строки:
echo "</tr>"; }
И запускается новая итерация внешнего цикла.
В итоге скрипт сформирует таблицу умножения:
НазадСодержаниеВперед
Цикл for | Основы PHP
Для перемещения по курсу нужно зарегистрироваться
1. Введение ↳ теория
2. Hello, World! ↳ теория / тесты / упражнение
3. Инструкции ↳ теория / тесты / упражнение
4. Арифметические операции ↳ теория / тесты / упражнение
5. Линтер ↳ теория / тесты / упражнение
6. Строки ↳ теория / тесты / упражнение
7. Типы данных ↳ теория / тесты / упражнение
8. Переменные ↳ теория / тесты / упражнение
9. Выражения в определениях ↳ теория / тесты / упражнение
10. Интерполяция ↳ теория / тесты / упражнение
11. Извлечение символов из строки ↳ теория / тесты
12. Функции и их вызов ↳ теория / тесты / упражнение
13. Сигнатура функции ↳ теория / тесты / упражнение
14. Вызов функции — выражение ↳ теория / тесты / упражнение
15. Функции с переменным числом параметров ↳ теория / тесты / упражнение
16. Детерминированность и побочные эффекты ↳ теория / тесты / упражнение
17. Стандартная библиотека ↳ теория / тесты / упражнение
18. Определение функции ↳ теория / тесты / упражнение
19. Возврат значений из функции ↳ теория / тесты / упражнение
20. Параметры функций ↳ теория / тесты / упражнение
21. Необязательные параметры функций ↳ теория / тесты / упражнение
22. Окружение ↳ теория / тесты / упражнение
23. Именование ↳ теория / тесты / упражнение
24. Логические операции ↳ теория / тесты / упражнение
25. Условные конструкции if и if-else ↳ теория / тесты / упражнение
26. Тернарный оператор и Элвис ↳ теория / тесты / упражнение
27. Конструкция Switch ↳ теория / тесты / упражнение
28. Цикл while ↳ теория / тесты / упражнение
29. Использование циклов ↳ теория / тесты / упражнение
30. Пограничные случаи ↳ теория / тесты / упражнение
31. Цикл for ↳ теория / тесты / упражнение
32. Погружаясь в строки ↳ теория / тесты / упражнение
33. Дата и время ↳ теория / тесты / упражнение
34. Отладка ↳ теория / тесты / упражнение
35. Ошибки ↳ теория / тесты / упражнение
36. Включение файлов ↳ теория / тесты / упражнение
37. Пространство имен ↳ теория / тесты / упражнение
38. Вложенные пространства имен ↳ теория / тесты / упражнение
39. Импорт функций ↳ теория / тесты / упражнение
40. Описание типов ↳ теория / тесты / упражнение
41. Ссылки ↳ теория / тесты / упражнение
42. История PHP ↳ теория
Испытания
1. Сумма двоичных чисел
2. Степень тройки
3. Фибоначчи
4. Добавляем цифры
5. Сбалансированные скобки
6. Совершенные числа
7. Счастливый билет
8. Физзбазз
Порой обучение продвигается с трудом. Сложная теория, непонятные задания… Хочется бросить. Не сдавайтесь, все сложности можно преодолеть. Рассказываем, как
Не понятна формулировка, нашли опечатку?
Выделите текст, нажмите ctrl + enter и опишите проблему, затем отправьте нам. В течение нескольких дней мы улучшим формулировку или исправим опечатку
Что-то не получается в уроке?
Загляните в раздел «Обсуждение»:
- Изучите вопросы, которые задавали по уроку другие студенты — возможно, ответ на ваш уже есть
- Если вопросы остались, задайте свой. Расскажите, что непонятно или сложно, дайте ссылку на ваше решение. Обратите внимание — команда поддержки не отвечает на вопросы по коду, но поможет разобраться с заданием или выводом тестов
- Мы отвечаем на сообщения в течение 2-3 дней. К «Обсуждениям» могут подключаться и другие студенты. Возможно, получится решить вопрос быстрее!
Подробнее о том, как задавать вопросы по уроку
PHP для циклов
❮ Предыдущий Далее ❯
Цикл по
— перебирает блок кода указанное количество раз.
Цикл PHP for
Цикл for
используется, когда заранее известно, сколько раз должен запускаться сценарий.
Синтаксис
for ( счетчик инициализации; счетчик тестов; счетчик приращений )
{
код, который необходимо выполнить
за каждую итерацию;
}
Параметры:
- счетчик инициализации : Инициализировать значение счетчика цикла
- счетчик тестов : Оценивается для каждой итерации цикла. Если он оценивается как TRUE, цикл продолжается. Если он оценивается как FALSE, цикл завершается.
- счетчик приращений : увеличивает значение счетчика циклов
Примеры
В приведенном ниже примере отображаются числа от 0 до 10:
Пример
for ($x = 0; $x <= 10; $x++)
{
echo «Число: $x
«;
}
?>
Попробуйте сами »
Объяснение примера
- $x = 0; — Инициализируйте счетчик циклов ($x) и установите начальное значение 0 .
- $х <= 10; - Продолжайте цикл, пока $x меньше или равно 10
- $x++ — увеличить значение счетчика цикла на 1 для каждой итерации
Этот пример считает до 100 десятками:
Пример
for ($x = 0; $x <= 100; $x+=10)
{
echo «Число: $x
«;
}
?>
Попробуйте сами »
Объяснение примера
- $x = 0; — Инициализируйте счетчик циклов ($x) и установите начальное значение 0 .
- $x <= 100; - Продолжайте цикл, пока $x меньше или равно 100
- $x+=10 — увеличить значение счетчика цикла на 10 для каждой итерации
PHP-упражнения
Проверьте себя с помощью упражнений
Упражнение:
Создать цикл от 0 до 9.
($i = 0; $i < 10; ) { эхо $i; }
❮ Предыдущий Следующий ❯
ВЫБОР ЦВЕТА
Лучшие учебники
Учебное пособие по HTMLУчебное пособие по CSS
Учебное пособие по JavaScript
Учебное пособие
Учебное пособие по SQL
Учебное пособие по Python
Учебное пособие по W3. CSS
Учебное пособие по Bootstrap
Учебное пособие по PHP
Учебное пособие по Java
Учебное пособие по C++
Учебное пособие по jQuery
Основные ссылки
HTML ReferenceCSS Reference
JavaScript Reference
SQL Reference
Python Reference
W3.CSS Reference
Bootstrap Reference
PHP Reference
HTML Colors
Java Reference
Angular Reference
jQuery Reference
Top5 Examples Примеры HTML
Примеры CSS
Примеры JavaScript
Примеры инструкций
Примеры SQL
Примеры Python
Примеры W3.CSS
Примеры Bootstrap
Примеры PHP
Примеры Java
Примеры XML
Примеры jQuery
FORUM | О
W3Schools оптимизирован для обучения и обучения. Примеры могут быть упрощены для улучшения чтения и обучения. Учебники, ссылки и примеры постоянно пересматриваются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего содержания. Используя W3Schools, вы соглашаетесь прочитать и принять наши условия использования, куки-файлы и политика конфиденциальности.
Авторское право 1999-2023 по данным Refsnes. Все права защищены.
W3Schools работает на основе W3.CSS.
PHP для цикла - GeeksforGeeks
Улучшить статью
Сохранить статью
- Последнее обновление: 25 авг, 2022
Улучшить статью
Сохранить статью
Цикл for — самый сложный цикл в PHP, который используется, когда пользователь знает, сколько раз нужно выполнить блок. для цикла содержит выражение инициализации, условие проверки и выражение обновления (выражение для увеличения или уменьшения).
Блок-схема цикла for:
Синтаксис:
for (выражение инициализации; условие проверки; выражение обновления) { // Код для выполнения }
Параметры цикла:
- Выражение инициализации: В этом выражении мы должны инициализировать счетчик цикла некоторым значением. Например: $num = 1;
- Условие проверки: В этом выражении мы должны проверить условие. Если условие оценивается как «истина», то оно выполнит тело цикла и перейдет к выражению обновления, в противном случае оно выйдет из цикла for. Например: $num <= 10;
- Выражение обновления: После выполнения тела цикла это выражение увеличивает/уменьшает переменную цикла на некоторое значение. Например: $num += 2;
Пример 1: В следующем коде показан простой пример с использованием на петлю.
PHP
|
Вывод
033 5 10 15
Пример 2: Следующий код показывает другой пример для цикла .
PHP
|