Уроки PHP – Циклы
В этом уроке мы рассмотрим циклы в PHP, а также примеры кода их использования.
Цикл в PHP – это управляющая конструкция, которая призвана выполнять блок кода несколько раз. Это означает, что вам не нужно многократно копировать и вставлять код в файл, достаточно только использовать правильную инструкцию цикла.
Пример кода без цикла:
<?php echo " 1 "; echo " 2 "; echo " 3 "; echo " 4 "; echo " 5 "; echo " 6 "; echo " 7 "; ?>
А с циклом for
это будет выглядеть так:
<?php for ($i = 1; $i <= 7; $i++){ echo " $i "; } ?>
Результат (вывод) кода в обоих примерах будет одинаков:
1 2 3 4 5 6 7
Как вы видите, использование цикла намного сокращает объем кода. Циклы короче и их легче понимать. Кроме того, в большинстве случаев во время кодирования вы не будете знать, сколько раз необходимо выполнять код в блоке.
Операторы цикла в PHP
Теперь давайте посмотрим, какие есть операторы цикла в PHP:
- цикл
while
- цикл
do ... while
- цикл
for
- цикл
foreach
1. PHP цикл while
Вероятно, это самый простой цикл в PHP. Его синтаксис довольно прост:
while (условие) { // блок кода }
Блок кода будет выполняться до тех пор, пока условие будет истинным. Реализация нашего первого примера с циклом while
будет выглядеть так:
<?php $i = 1; while ($i <= 7) { echo " $i "; $i++; } ?>
Результат будет точно таким же, как и в предыдущих примерах. Однако, если вы установите для переменной итератора $i
значение 10 ($i = 10
), тогда ничего не будет выводиться, поскольку условие не будет выполняться. А если же вы забудете добавить итератору автоинкремент (увеличение на единицу после каждой итерации), это приведет к бесконечному выполнению цикла, поскольку условие никогда не изменится, и оно всегда будет истинным. Будьте внимательны с такими случаями.
2. PHP цикл do while
Этот вариант цикла очень похож на предыдущий цикл while
, но он имеет одно важное отличие. С циклом do while
блок кода будет выполнен хотя бы один раз. Это связано с тем, что в случае цикла do while
PHP проверяет условие только после первой итерации. Это хорошо видно из синтаксиса:
<?php do { //блок кода } while (условие) ?>
А кроме этого данный цикл не сильно отличается от цикла while
. Ниже пример того, как использовать цикл do while
:
<?php $i = 1; do { echo " $i "; $i++; } while ($i <= 7) ?>
3. PHP цикл for
Цикл for
– это самый сложный цикл в PHP, но он также и наиболее часто используется. При использовании цикла for
вы выполняете инициализацию переменной цикла, делаете проверку условия, а затем обновление переменной цикла и все в одной строке. Синтаксис цикла for
следующий:
<?php for ( выражение1; условие; выражение2 ) { // блок кода } ?>
Этот синтаксис требует немного больше объяснения.
выражение1
содержит часть инициализации цикла. Здесь вы можете установить переменную цикла, например, так$i = 1
.условие
– эта часть содержит проверку какого-то условия. Вы можете написать здесь условие, и оно будет проверяться перед каждой итерацией. Это означает, что может случиться так, что блок кода вообще не будет выполнен.- В коде
выражение2
указывается информация для обновления переменной цикла.
Пример использования цикла for
выглядит так:
<?php for($i = 1; $i <= 7; $i++) { echo " $i "; } ?>
Каждый элемент может быть пустым или содержать несколько выражений, которые разделяются запятыми. Используя этот подход, приведенный выше код можно сделать еще меньше. Однако поддерживать такой код немного сложнее:
<?php for( $i = 1, $a = 0; $i <= 7; print " $i ", $i++); ?>
4. PHP цикл foreach
Последняя структура цикла в PHP – это foreach
. Это специальный цикл, поскольку его можно использовать только для массивов. Назначение цикла foreach
– выполнить итерацию по каждому элементу массива. Если вы попытаетесь использовать его с обычной переменной, вы получите ошибку.
Синтаксис цикла foreach
выглядит так:
<?php foreach (array as $value) { // блок кода } ?>
Он означает, что при каждой итерации фактическое значение массива будет копироваться в переменную $value
, и вы можете использовать это значение в блоке кода. Итак, рассмотрим пример кода для данного цикла:
<?php // массив данных $firstList = array(1, 2, 3, 4, 5, 6, 7); // перебираем каждый элемент массива циклом foreach foreach ($firstList as $value) { echo " $value "; } ?>
Существует альтернативный синтаксис цикла foreach
для обработки ассоциативных массивов. Вы можете использовать его, если хотите знать не только фактическое значение элемента, но и ключ. Синтаксис цикла foreach
для ассоциативных массивов:
<?php foreach (array as $key => $value) { // блок кода } ?>
В этом случае вы можете использовать обе информации (ключ и значение) в своем блоке кода следующим образом:
<?php // массив данных $firstList = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5, 'f' => 6, 'g' => 7); // перебираем каждый элемент массива циклом foreach foreach ($firstList as $key => $value) { echo " $key-$value "; } ?>
Последние посты
Генри Форд
Человек имеет два мотива поведения — один настоящий и второй, который красиво звучит Генри Форд…
Фридрих Ницше
Не нужно додумывать слишком много. Так вы создаете проблемы, которых изначально не было Фридрих Ницше…
Такой разный инвертор! Выбираем между кондиционерами Inverter, Inverter DC и Full DC
Лето в разгаре, а значит самое время задуматься о покупке кондиционера. Но как не потеряться…
Омар Хайям
Настоящий друг — это человек, который в глаза тебе выскажет все, что о тебе думает,…
Полезные советы по выбору раздвижной двери
Следует знать, что функциональность и дизайн работают рука об руку, когда вы используете раздвижную дверь.…