PHP: цикл WHILE на примерах
Что такое цикл?
Цикл нам пригодится, если нужно несколько или очень много раз повторить одну и ту же операцию с незначительными изменениями. Не очень понятно, да? Тогда на примерах:
У нас есть 10 товаров, и нам нужно посчитать их общую стоимость. В этом случае мы должны по очереди взять каждый товар и прибавить его цену к переменной, которая изначально была равна нулю. Т.е. в нашем случае цикл будет состоять из 10 одинаковых операций: прибавление цены.
Примеры цикла while()
Давайте создадим страницу и выведем на ней числа от 1 до 100:
<?php
$i = 1; // Начальное значение $i
while ($i <= 100) {
echo $i; // Печатаем $i
echo '<br>'; // Печатаем перенос строки
$i = $i + 1; // Увеличиваем $i на 1.
}
?>
Данный цикл будет выполняться, пока $i будет меньше или равно цифре 100. И как только переменная $i станет больше, чем 100, то цикл прервется.
Мы можем, примеру, в каждой итерации цикла увеличивать $i не на еденицу, а скажем, на 5.
<?php
$i = 1; // Начальное значение $i
while ($i <= 100) {
echo $i; // Печатаем $i
echo '<br>'; // Печатаем перенос строки
$i = $i + 5; // Увеличиваем $i на 5.
}
?>
А как же вывести цифры 0, 5, 10, 15...? В этом случае нам надо начинать не с 1, а с нуля!
<?php
$i = 0; // Начальное значение $i
while ($i <= 100) {
echo $i; // Печатаем $i
echo '<br>'; // Печатаем перенос строки
$i = $i + 5; // Увеличиваем $i на 5.
}
?>
Ну и на последок еще один пример: давайте посчитаем сумму всех четных чисел от 0 до 1 000 000 :) Про оператор IF читайте в предыдущем уроке.
<?php
$i = 0; // Начальное значение $i
$summ = 0; // Будущая сумма чисел
while ($i <= 1000000) {
if ($i % 2 === 0) { // Если остаток от деления равен нулю. Т.е. если $i нацело делится на 2, то число является четным.
$summ = $summ + $i;
}
$i++; // Увеличиваем $i на 1. $i++ это то же самое, что $i = $i + 1;
}
echo 'Сумма четных чисел от 0 до 1 000 000 равна ' . $summ; // Выводим результат
?>
На этом все, друзья. Хотите самостоятельное задание? Посчитайте сумму чисел от 0 до -15 включительно! Пишите, у кого что получилось в комментарии ниже. И какой из трех способов подсчета вы выбрали?!
<- PHP: условный оператор IF |