Суббота, 28 Июль 2018 16:15

Циклы for, while, do while

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

Разберём на примере while:

<?php
$gw = 2;
while($gw <= 5)
{
  print("Строка №" . $gw . "<br />");
  $gw++;
}
?>

На выходе будет 4 строки:

Строка №2

Строка №3

Строка №4

Строка №5

Разберём на примере do while:

<?php
$gw = 1;
do {   $gw = $gw + 2;   print("Строка №" . $gw . "<br />");
} while($gw <= 7) ?>

На выходе будет 4 строки:

Строка №3

Строка №5

Строка №7

Строка №9

Здесь стоит заострить внимание на том, что сначала срабатывает код, а только потом проверяется условие. В случае с while было бы наоборот.

Разберём на примере for:

<?php
for($gw = 1; $gw <= 4; $gw++)
{
  print("Строка №" . $gw . "<br />");
}
?>

На выходе будет 4 строки:

Строка №1

Строка №2

Строка №3

Строка №4

Из всех конструкций именно циклу for я уделяю внимание чаще всего, а потому разберу ещё один пример, но уже с массивом:

<?php
$base = file("simple.txt");
$result = array();

foreach($base AS $row) {
  $result[] = $row;
}

$gw = count($result);

for ($i = 0; $i <= $gw; $i++)
{
  print("<div>". $result[$i] ."</div>");
}
?>

Данный код берёт содержимое файла «simple.txt», далее цикл foreach добавляет значения строк в массив $result, а после цикл for выводит содержимое по количеству строк определённых с помощью count.

Спонсоры: