В этом уроке мы рассмотрим циклы в 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:
whiledo ... whileforforeach
Вероятно, это самый простой цикл в PHP. Его синтаксис довольно прост:
while (условие) { // блок кода }
Блок кода будет выполняться до тех пор, пока условие будет истинным. Реализация нашего первого примера с циклом while будет выглядеть так:
<?php
$i = 1;
while ($i <= 7) {
echo " $i ";
$i++;
}
?>
Результат будет точно таким же, как и в предыдущих примерах. Однако, если вы установите для переменной итератора $i значение 10 ($i = 10), тогда ничего не будет выводиться, поскольку условие не будет выполняться. А если же вы забудете добавить итератору автоинкремент (увеличение на единицу после каждой итерации), это приведет к бесконечному выполнению цикла, поскольку условие никогда не изменится, и оно всегда будет истинным. Будьте внимательны с такими случаями.
Этот вариант цикла очень похож на предыдущий цикл while, но он имеет одно важное отличие. С циклом do while блок кода будет выполнен хотя бы один раз. Это связано с тем, что в случае цикла do while PHP проверяет условие только после первой итерации. Это хорошо видно из синтаксиса:
<?php
do {
//блок кода
} while (условие)
?>
А кроме этого данный цикл не сильно отличается от цикла while. Ниже пример того, как использовать цикл do while:
<?php
$i = 1;
do {
echo " $i ";
$i++;
} while ($i <= 7)
?>
Цикл 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++); ?>
Последняя структура цикла в 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 ";
}
?>
WordPress годами был непревзойденным "монолитом": он отвечал и за удобную админ-панель, и за хранение данных,…
В мире веб-серверов часто говорят о противостоянии Nginx vs Apache. Но что, если бы я…
Когда я начинал свой путь в веб-разработке, вопрос "какой веб-сервер использовать?" практически не стоял. Ответ…
Когда речь заходит о веб-серверах, два имени всегда на слуху: Apache и Nginx. Apache —…
В мире веб-разработки мы постоянно сталкиваемся с проблемой: "А у меня на компьютере все работает!".…
На заре моей карьеры веб-разработчика все было относительно просто: установил локальный сервер (помните Denwer?), положил…