Цикл WHILE в PHP
TimeWeb

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