Уроки PHP – Циклы

Уроки 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 ";
}
?>

 

 



Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *