while цикл php

Циклы while, do while

Цикл while

Синтаксис:

while (условие){
   инструкция 1;
   инструкция 2;
}

Условие в скобках должно быть true, чтобы цикл сработал. Простой пример:

$sum = 1
while ($i$sum += 3;
$i++;
print($sum); // вывод $sum
}

Цикл for и цикл while взаимозаменяемы. Тут у кого какое предпочтение. Однако, когда известны начальная и конечная точки счетчика, рекомендую использовать цикл for. Когда неизвестна конечная точка счетчика (например, зачитаваем файл построчно, а количество строк в нем не знаем) — используем цикл while.

Управление циклами

Если в теле цикла стоит ‘break’ — то происходит выход из цикла. Если в теле стоит ‘continue’ — идет переадресация на условие цикла, а код ниже этой команды в теле цикла пропускается. Обе конструкции выходят из одного уровня циклов (если у нас вложенные циклы). А break 2; — выходим из цикла второго уровня вложенности. Это число должно соответствовать возможным уровня. Если не соответствует — выскочит фатальная ошибка. Примеры:

$i = 1;
while ($i < 10){
   print($i);
   $i++;
   if ($i == 5)
      break; // выход из цикла
}
$i = 0;
while ($i < 10){
   $i++;
   if ($i == 5)
      continue; // идем в условие цикла while
   print($i); // не выполнится, если i=5
}

Цикл do while

У циклов while и for есть недостаток: они могут ни разу не исполниться, если условие false. Однако иногда нужно, чтобы один цикл (одна итерация) прошел. Тогда применим цикл do-while. Синтасис:

do{ // минимум один раз исполнится
Инструкция 1;
Инструкция 2;
}while(условие)

Нарисуем таблицу умножения с помощью цикла

<?php
$cols = 10; // выведем за пределы кода, ставим число колонок
$rows = 10; // ставим число строк
$color = 'red';  // задаем фоновый цвет таблицы
?>
<h1>Таблица умножения</h1>
<table border="1">
<?php
    for($tr=1; $tr<=$rows; $tr++){
        echo "<tr>";
        for($td=1; $td<=$cols; $td++){
            if($td==1 or $tr==1){
                echo "<th style='background-color:$color'>", $tr * $td, "</th>";
            }else{
                echo "<td>", $tr * $td, "</td>";
            }
        }
        echo "</tr>";
    }
?>
</table>

По сути, получился шаблон таблицы умножения. Три переменные вынесены за пределы кода, чтобы в любое время поменять свойства таблицы, не залезая в код.




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

Ваш e-mail не будет опубликован.