5. Циклы: PHP поддерживает три вида циклов: Цикл с предусловием (while); Цикл с постусловием (do-while); Цикл со счетчиком (for); Специальный цикл перебора массивов (foreach).
while (логическое_выражение) инструкция;
первый способ: $x=0; while ($x++<10) echo $x; /* $x++ это постинкремент добавляет единицу $x при каждом цикле */ // Выводит 12345678910
Второй:
$x=0;
while ($x<10)
{
$x++; // Увеличение счетчика
echo $x;
}
// Выводит 12345678910
Третий:
while (логическое_выражение):
инструкция;
...
endwhile;
пример:
$x = 1;
while ($x <= 10):
echo $x;
$x++;
endwhile;
Цикл с постусловием do while
do
{
тело_цикла;
}
while (логическое_выражение);
Пример:
$x = 1;
do {
echo $x;
} while ($x++<10);
// выводит 12345678910
Цикл со счетчиком for:
for (инициализирующие_команды; условие_цикла; команды_после_итерации) { тело_цикла; }
примеры:
for ($x=0; $x<10; $x++) echo $x;
// Выводит 0123456789
for ($x=0; $x++<10;) echo $x;
// Выводит 12345678910
for ($x=0, $y=0; $x<10; $x++, $y++) echo $x;
// Выводит 0123456789
for($i=0,$j=0,$k="Точки"; $i<10; $j++,$i+=$j) { $k=$k."."; echo $k; }
// Выводит Точки.Точки..Точки...Точки....
Для цикла for имеется и альтернативный синтаксис:
for(инициализирующие_команды; условие_цикла; команды_после_итерации):
операторы;
endfor;
Цикл перебора массивов foreach:
Синтаксис
foreach (массив as $ключ=>$значение)
команды;
пример:
$names["Иванов"] = "Андрей";
$names["Петров"] = "Борис";
$names["Волков"] = "Сергей";
$names["Макаров"] = "Федор";
foreach ($names as $key => $value) {
echo "<b>$value $key</b><br>";
Выводит:
Андрей Иванов
Борис Петров
Сергей Волков
Федор Макаров
Когда нас не интересует значение ключа очередного элемента. Выглядит она так:
foreach (массив as $значение)
команды;
Пример:
$names[] = "Андрей";
$names[] = "Борис";
$names[] = "Сергей";
$names[] = "Федор";
foreach ($names as $value) {
echo "<b>$value</b><br>";
}
|