Notice: Undefined variable: this in /home/dimarini/public_html/libraries/src/Application/CMSApplication.php on line 441

Цикли в PHP


Често в практиката се налага повтарянето на даден код няколко пъти последователно. За тази цел се използват цикли. В PHP имаме следните определения за цикъл:


  • while - цикълът се повтяря докато определено условие е true
  • do...while - определен код се изпълнява в началото веднъж и след това се повтаря в цикъл докато определено условие е true
  • for - цикълът се повтаря определен брой пъти
  • foreach - цикълът изпълнява кода за всеки елемент на даден масив

Цикъл while


Този цикълът повторно изпълнява определен код докато дадено условие е true. Синтаксис:


    while (condition)
{
код, който трябва да се изпълни;
}

В примера по-долу е определен цикъл, който започва с i=1. Цикълът продължава докато i е по-малко или равно на 5, като се увеличава с 1 при всяко повторение на цикъла:


    <html&rt;
<body&rt;

<?php
$i=1;
while($i<=5)
{
echo "Тази цифра е " . $i . "<br /&rt;";
$i++;
}
?&rt;

</body&rt;
</html&rt;

При изпълнение на кода ще се получат следните съобщения:


    Тази цифра е 1
Тази цифра е 2
Тази цифра е 3
Тази цифра е 4
Тази цифра е 5

Цикъл do...while


В този цикъл първоначално се даден код се изпълнява веднъж, след това се проверява условието и се повтаря изпълнението на кода докато условието стане true. Синтаксис:


    do
{
код, който трябва да се изпълни;
}
while (condition);

В долният пример е определен цикъл, който започва с i=1. След това i се увеличава с 1 и се подава изход с echo. Условието се проверява и кода ще се повтаря докато i е по-малко от или равно на 5:


    <html>
<body>

<?php
$i=1;
do
{
$i++;
echo "Числото е " . $i . "<br />";
}
while ($i<=5);
?>

</body>
</html>

Цикъл for


Използва се когато предварително се знае колко пъти тряббва да се изпълни даден код. Синтаксис:


    for (инициал; условие; нарастване)
{
code to be executed;
}

Параметри:


  • инициал: Най-често се използва за брояч, но може да бъде и код за еднократно изпълнение в началото на цикъла
  • условие: Оценяване на повторението. Ако резултатът е true цикълът продължава. Ако резултатът е false цикълът се прекратява
  • нарастване: Най-често се използва за увеличаване стойността на брояча, но може да бъде и код за изпълнение в края на цикъла

Всеки един от горните параметри може да е празен или да съдържа няколко стойности, които се разделят с запетая. В показаният по-долу пример е определен цикъл, който започва с i=1. Цикълът продължава докато i е по-малко или равно на 5. Параметърът i се увеличава с 1 при всяко повторение на цикъла:


    <html>
<body>

<?php
for ($i=1; $i<=5; $i++)
{
echo "Числото е " . $i . "<br />";
}
?>

</body>
</html>

При изпълнение на кода ще се получат следните съобщения:


    Числото е  1
Числото е 2
Числото е 3
Числото е 4
Числото е 5

Цикъл foreach


Използва се при работа с матрици. Синтаксис:


    foreach ($array as $value)
{
код, който трябва да се изпълни;
}

При всяко повторение на цикъла, стойността на тукущия елемент от матрицата $array се присвоява на $value и пойнтера на матрицата се придвижва към следващата клетка. В примерът е показан цикъл, който ще изведе съобщения за стойностите на даден масив:


    <html>
<body>

<?php
$days=array("Понеделник","Вторник","Сряда","Четвъртък","Петък");
foreach ($days as $workdays)
{
echo $workdays . "<br />";
}
?>

</body>
</html>

При изпълнение на кода ще се получат следните съобщения:


    Понеделник
Вторник
Сряда
Четвъртък
Петък