Циклы в PHP

Очень часто при написании скриптов требуется выполнить одно и тоже действие несколько раз. Для этого и нужны циклы. Циклы в php, как и в других языках, делятся на несколько типов:
1. Цикл со счетчиком for
2. Цикл с условием while, do-while
3. Цикл для обхода массивов foreach
Например, при создании интернет магазина, нам нужно до вывода товаров на экран, убрать товары, остаток на складе которых ниже 10. Для этого мы в цикле обходим массив с товарами, и при помощи условного оператора if, сверяем кол-во товаров на складе, и убираем из массива все товары, у которых значение на складе меньше 10.

Цикл For в PHP

Цикл со счетчиком for - выполняется определенное количество раз. Рассмотрим пример:

<?php
for ($i = 0; $i <= 10; $i++) {
echo "я выйду $i раз <br>";
}
?>

В этом примере цикл будет выполняться 11 раз. От 0 (так-как. переменная $i = 0) до 10 (так-как $i <= 10). Каждую итерацию $i будет увеличено на 1 ($i++). Чтобы было понятней, сделаем еще один пример:

<?php
for ($i = 5; $i < 10; $i++) {
echo "номер итерации: $i <br>";
}
?>

Цикл будет выполняться от 5 и до 9 ($i < 10 (в предыдущем примере было <= 10)). Так же цикл можно выполнять в обратном порядке:

<?php
for ($i = 10; $i > 5; $i--) {
echo "номер итерации: $i <br>";
}
?>

Цикл будет выполнен от 10 и до 5.
Так же цикл можно выполнять с определенным шагом, рассмотрим пример:

<?php
for ($i = 0; $i <= 10; $i = $i + 5) {
echo "номер итерации: $i <br>";
}
?>

В цикле будет выполнено 3 итерации (0, 5, 10) с шагом 5. Каждую итерацию, счетчик цикла будет увеличен на 5.

Цикл foreach

Цикл foreach - самый распространенный цикл. Требуется почти во всех скриптах, особенно если php скрипт работает с базами данных. Используется для обхода массивов.
Например, рассмотрим небольшой пример:

<?php
$arr[0] = "red";
$arr[1] = "blue";
$arr[2] = "green";
$arr["color"] = "yellow";
$arr["test"] = "сайт mirjs.uz";
foreach ($arr as $key => $value) {
echo "ключ: $key, значение: $value <br>";
}
?>

Запустив скрипт вы увидите:

ключ: 1, значение: blue
ключ: 2, значение: green
ключ: color, значение: yellow
ключ: test, значение: сайт mirjs.uz

Цикл while

Цикл while используется для выполнения цикла до тех пор, пока выполняется условие. Если условие ни когда не будет выполнено, то цикл зациклиться.
Рассмотрим пример:

<?php
$i = 0;
while ($i < 20) { //Цикл выполняется до тех пор, пока $i меньше 20
echo $i . "<br>";
$i = $i + 1; //Увеличение переменной $i на 1, сокращенная запись $i++
}
?>

На экране увидим числа от 0 до 19

Цикл do-while

В цикле do сначала выполняется код цикла, а потом происходит проверка условия в инструкции while. И пока это условие истинно, цикл повторяется. Например:

<?php
$i = 1;
do {
echo $i * $i . "<br>";
$i++;
}
while ($i < 10);
?>

Здесь код цикла сработает 9 раз, пока x не станет равным 10. При этом цикл do гарантирует хотя бы однократное выполнение действий, даже если условие в инструкции while не будет истинно.

Операторы continue и break

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

<?php
$i = 1;
while ($i <= 10) {
echo $i;
$i++;
if($i > 5) break;
}
?>

В данном случае цикл оборвется, когда переменная $i станет равной 6.

Для управления циклами также применяется оператор continue. Он осуществляет переход к следующей итерации цикла:

<?php
for ($i = 1; $i < 10; $i++) {
if ($i == 5) {
continue;
}
echo "квадрат числа $i равен" . $i * $i . "<br>";
}
?>

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

Обсуждение закрыто.