Циклы: for, while, do..while, foreach.
Циклы
Способы организации циклов в РНР
Цикл while
Вложенные циклы
Цикл do ... while
Цикл for
Цикл foreach
757.81K
Категория: ПрограммированиеПрограммирование

Циклы: for, while, do..while, foreach

1. Циклы: for, while, do..while, foreach.

2. Циклы

Циклы - конструкции, предназначенные для программирования повторяющихся
действий.
Цикл - это набор повторяющихся действий. Один такой набор действий называется
итерацией.
У цикла выделяется несколько характерных особенностей:
• начало, которое обозначается каким-либо ключевым словом;
• выражения, которые выполняются в теле цикла, - обычно они располагаются
между признаком начала и завершения цикла;
• условие прекращения цикла.

3.

Структура цикла
Когда РНР-интерпретатор встречает цикл, то по
условию определяет, может ли он его выполнять.
Если условие ложно (false), интерпретатор сразу
переходит к концу цикла и продолжает выполнять
выражения после него. А если условие истинно
(true), интерпретатор начинает выполнять тело
цикла. Пока это очень похоже на выражение if,
которое действует похожим образом. Однако,
дойдя до конца цикла, интерпретатор
возвращается к началу и опять проверяет условие.
Если оно опять возвращает true, начинает
выполняться вторая итерация цикла, и так до тех
пор, пока условие не станет ложным. Вот тогда
цикл прекращает работу.

4. Способы организации циклов в РНР

• Язык программирования РНР предоставляет несколько способов
организации циклов:
• while;
• for;
• foreach.
Цикл while имеет два варианта: с условием в начале и в конце итерации.
Цикл foreach предназначен для обхода коллекций, таких как
ассоциативные массивы.

5. Цикл while

• Конструкция while называется циклом с предусловием, т. к. условие
продолжения цикла проверяется в начале итерации. Конструкция
имеет следующий синтаксис:
while (логическое_ выражение ){
выражение;
}
• При входе в цикл вычисляется логическое_ выражение, и если его
значение истинно (true), выполняется тело цикла. После завершения
итерации логическое_выражение вычисляется повторно, и если оно
по-прежнему равно true, выражения тела цикла выполняются
повторно. Это происходит до тех пор, пока значение логического
выражения не станет ложным (false).

6.

• Тело цикла, расположенное между
Результатом выполнения кода из примера
являются числа от 1 до 5, выведенные
в столбик:
фигурными скобками, выполняется до
тех пор, пока выражение $i <= 5 не
примет значение false. При каждой
итерации цикла значение счетчика $i
увеличивается на единицу с помощью
оператора инкремента $i++. Как
только значение переменной $i
достигает 6 (т. е. становится больше 5),
выражение $i <= 5 принимает
значение false и на следующей
итерации while прекращает свою
работу.

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

Структура вложенных циклов

8.

Пример
• В примере вложенным циклом while
выводится таблица умножения.
Результатом работы программы
должна стать квадратная таблица, по
горизонтали и вертикали которой
располагаются значения,
возрастающие от единицы до 10. На
пересечениях строк и столбцов результат перемножения двух чисел.

9.

• Первый цикл while в примере несет
ответственность за формирование
строк. На каждой итерации этого
цикла выполняется
дополнительный whilе-цикл с
переменной счетчиком $j. Этот
дополнительный цикл формирует
столбцы- значения в рамках одной
строки (рис. 6.1).
Рис. 6.1 – Создание таблицы умножения
вложенными циклами

10.

Результат:
• Перевод строк обеспечивает
константа РНР _ EOL. Причем вывод
перевода строки проводится только
в конце внешнего цикла, чтобы не
разрушить формируемую таблицу.

11. Цикл do ... while

Цикл do ...while, в отличие от цикла while, проверяет условие выполнения
цикла не в начале итерации, а в конце, и имеет следующий синтаксис:
do {
выражения;
} while (логическое _ выражение);
Такой цикл всегда будет выполнен хотя бы один раз и называется циклом с
постусловием. После выполнения тела цикла вычисляется логическое _
выражение и, если оно истинно (true), вновь выполняется тело цикла.

12.

В примере ноль всегда будет добавлен в список, независимо от
значения условия ( ++$i <= 5).
Пример
Результатом выполнения этого примера будут выведенные в столбик
числа от 0 до 5.
В отличие от остальных конструкций цикла, а также if и switch, этот вид
цикла не поддерживает альтернативный синтаксис.

13. Цикл for

• Цикл for имеет следующий синтаксис:
for ( начало; логическое _ выражение; тело) {
выражение;
}
• Здесь выражение начало (инициализация цикла) - последовательность определений и
выражений, разделяемая запятыми. Все выражения, входящие в инициализацию,
вычисляются только один раз при входе в цикл. Как правило, тут устанавливаются
начальные значения счетчиков и параметров цикла.
• Смысл выражения-условия логическое _ выражение такой же, как и у циклов с пред- и
постусловиями: цикл выполняется до тех пор, пока логическое _ выражение истинно
(true), и прекращает свою работу, когда оно ложно (false). При отсутствии выражения
условия предполагается, что его значение всегда истинно.
• Выражения тело вычисляются в конце каждой итерации после выполнения тела цикла.

14. Цикл foreach

• Обход массива в цикле можно организовать при помощи цикла foreach,
который специально создан для ассоциативных массивов и имеет
следующий синтаксис:
foreach ($array as [$key =>] $value) {
выражение;
}
• Цикл последовательно обходит элементы массива $array с первого до
последнего, помещая на каждой итерации цикла ключ в переменную
$key, а значение - в переменную $value. Имена этих переменных могут
быть любыми.
• В качестве первого аргумента конструкции foreach обязательно должен
выступать массив, иначе конструкция выводит предупреждение.
English     Русский Правила