PHP: типы циклов

Предыдущая часть: “PHP: принятие решений

Циклы в PHP используются для выполнения одного и того же блока кода определенное количество раз. PHP поддерживает следующие четыре типа циклов:

  • for— выполняет блок кода определенное количество раз;
  • while — выполняет блок кода, если и до тех пор, пока заданное условие истинно;
  • do…while — выполняет блок кода один раз, а затем повторяется до тех пор, пока истинно специальное условие;
  • foreach — выполняет блока кода для каждого элемента массива.

Посмотрим, как ключевые слова continue и break используются для управления выполнением цикла.

Оператор цикла for

Оператор for используется, когда вы знаете, сколько раз хотите выполнить оператор или блок операторов.

Синтаксис

for (инициализация: условие; инкремент){
код, который будет выполнен;
}

Выполнением команды инициализации устанавливается начальное значение счетчика, указывающего количество итераций цикла. Для этого здесь может быть объявлена переменная, которую традиционно принято называть $i.

Пример

Следующий код делает пять итераций, изменяя присвоенное значение двух переменных на каждом проходе цикла:

<html>
<body>

<?php
$a = 0;
$b = 0;

for( $i = 0; $i<5; $i++ ) {
$a += 10;
$b += 5;
}

echo (“В конце цикла a = $a и b = $b”);
?>

</body>
</html>

Это приведет к следующему результату:

В конце цикла a = 50 и b = 25

Оператор цикла while

Оператор while выполняет блок кода, если и до тех пор, пока тестовое выражение истинно.

Если тестовое выражение истинно, то блок кода будет выполнен. После выполнения кода тестовое выражение будет снова оценено, и цикл будет продолжаться до тех пор, пока тестовое выражение не окажется ложным.

Синтаксис

while (условие) {
код, который будет выполнен;
}

Пример

В этом примере кода значение переменной уменьшается на каждой итерации цикла, а значение счетчика увеличивается, пока не достигнет 10, когда оценка будет ложной и цикл завершится.

<html>
<body>

<?php
$i = 0;
$num = 50;

while( $i < 10) {
$num--;
$i++;
}

echo ("Цикл остановился на i = $i и num = $num" );
?>

</body>
</html>

Это приведет к следующему результату:

Цикл остановился на i = 10 и num = 40

Оператор цикла do…while

Оператор do…while выполнит блок кода хотя бы один раз, после чего будет повторять цикл до тех пор, пока условие будет истинным.

Синтаксис

do {
код, который будет выполнен;
}
while (условие);

Пример

В следующем примере кода значение переменной i хотя бы один раз увеличится, после чего будет продолжать возрастать до тех пор, пока будет меньше 10.

<html>
<body>

<?php
$i = 0;
$num = 0;

do {
$i++;
}

while( $i < 10 );
echo ("Цикл остановился на i = $i" );
?>

</body>
</html>

Это приведет к следующему результату:

Цикл остановился на i = 10

Оператор цикла foreach

Оператор foreach используется для перебора массивов. При каждом проходе значение текущего элемента массива присваивается $value, а указатель массива перемещается на единицу, и при следующем проходе обрабатывается следующий элемент.

Синтаксис

foreach (массив как значение) {
код, который будет выполнен;
}

Пример

Попробуйте в следующем примере перечислить значения массива:

<html>
<body>

<?php
$array = array( 1, 2, 3, 4, 5);

foreach( $array as $value ) {
echo "Значение равно $value <br />";
}
?>

</body>
</html>

Это приведет к следующему результату:

Значение равно 1
Значение равно 2
Значение равно 3
Значение равно 4
Значение равно 5

Оператор break

Ключевое слово PHP break используется для преждевременного завершения выполнения цикла.

Оператор break располагается внутри блока оператора. Он дает полный контроль над циклом, позволяя вам выйти из него в любой момент. После выхода из цикла будет выполнен следующий за ним оператор.

Пример

В следующем примере условие проверки становится истинным, когда значение счетчика достигает 3, и цикл завершается.

<html>
<body>

<?php
$i = 0;

while( $i < 10) {
$i++;
if( $i == 3 )break;
}
echo ("Цикл остановился на i = $i" );
?>

</body>
</html>

Это приведет к следующему результату:

Цикл остановлен на i = 3

Оператор continue

Ключевое слово PHP continue используется для остановки текущей итерации цикла, но не завершает цикл.

Как и break, оператор continue располагается внутри блока операторов, содержащего код, который выполняет цикл, и предваряется условным тестом. При выполнении цикла, в котором встречается оператор continue, остальная часть кода цикла пропускается и начинается следующий цикл.

Пример

В следующем примере цикл печатает значение массива, но для условия, которое становится истинным, он просто пропускает код и печатает следующее значение:

<html>
<body>

<?php
$array = array( 1, 2, 3, 4, 5);

foreach( $array as $value ) {
if( $value == 3 )continue;
echo "Значение равно $value <br />";
}
?>

</body>
</html>

Это приведет к следующему результату:

Значение равно 1
Значение равно 2
Значение равно 4
Значение равно 5

Читайте также:

Читайте нас в TelegramVK и Яндекс.Дзен

Предыдущая статьяВведение в библиотеку Flutter Bloc
Следующая статьяЗачем переходить с Gitbook на Readme