Nacházíte se: tvorba webu :: php :: cykly

Cykly v PHP

Cykly se používají všude tam, kde chceme opakovat určitou činnost vícekrát za sebou.

Existuje několik druhů cyklů:

A existuje několik příkazů pro řízení cyklu.



FOR cyklus

For cyklus, asi nejjednoduší na pochopení a pro začátek. Cyklus se provádí do té doby, než je porušena podmínka v inicializaci cyklu.

syntaxe
for(inicializace proměnné; podmínka; operace){}


Příklad:

Cyklus jede od 0 do 29 a vypisuje číslo dané iterace. Takže vypíše v každém kroku hodnotu proměnné $iterace; Výpis bude vypadat takto 0,1,...29.

for($iterace = 0; $iterace < 30;iterace++){
  
  echo $iterace;
  echo "<br />";
  
}


WHILE

WHILE cyklus je velmi podobný for cyklu, jen inicializace je jiná. V podstatě zjišťuje jen podmínku. Pokud je splněna, vykonává příkazy v těle cyklu.

syntaxe
while(podmínka){}


Příklad:

Taktéž vypíše hodnoty od 0 do 29 jako cyklus FOR. Musíme ale ještě před cyklem dobře inicializovat proměnnou $iterace a v cyklu ji inkrementovat(zvětšovat o jedničku). Jinak by se nám z toho mohl stát nekonečný cyklus, který nelze vypnout.

$iterace = 0;
while($iterace < 30){
  echo $iterace;
  echo "<br />";
  $iterace++;
}


DO WHILE

DO WHILE cyklus je trošičku odlišný, ale né moc. Nejprve vykoná jednou příkazy v těle cyklu a až po té zjišťuje, je-li podmínka splněna.

syntaxe
do{tělo cyklu} while(podmínka);


Příklad:

Taktéž vypíše hodnoty od 0 do 29 jako cyklus FOR i While. Zase musíme incializovat před cyklem proměnnou $iterace. Poté se jednou provedou příkazy v těle cyklu(i kdyby podmínka nevyhovovala) a teprve potom se zjisťuje splnitelnost podmínky.

$iterace = 0;
do{
  echo iterace;
  echo "<br />";
  $iterace++;
}while($iterace < 30);


BREAK

Příkaz BREAK slouží k přerušení vykonávání cyklu, i když ještě platí podmínka.

$iterace = 0;
while ($iterace<5){
if($iterace == 2) break;
$iterace++;
echo($iterace . "<br />");
}

Cyklus by bez breaku běžel do 4, ale když je $iterace rovna 2, zastaví cyklus break;


CONTINUE

Příkaz CONTINUE slouží k přerušení právě prováděné iterace cyklu. Po přerušení začne následující iterace. Což je rozdíl oproti BREAK, ten ukončí celý cyklus.

<?
for($i=0;$i<5;$i++){
if($i==2) continue;
echo $i;
}
?>

Cyklus poběží až do 4, což splňuje podmínku cyklu, ale při $iteraci==2 tento průchod cyklu přeskočí. A tak vypíše 0,1,3,4.
úvod | tvorba webu | ostatní | služby | návštěvní kniha | kontakt