Řídicí struktury v PHP
Větvení
Příkaz if slouží k podmíněnému provedení příkazu, pokud je splněna určitá podmínka. Podmínku musíme zadat jako výraz, který vrací logickou hodnotu
if(podmínka )přikaz;
V PHP jsou logické hodnoty reprezentovány jako obyčejné číslo. Nula přitomodpovídá hodnotě false. Toho můžeme využít a podmínku zapsat zkráceně:
if( !$b) $podil=$a/b;
Pokud chceme podmíněně provést více příkazů, uzavřeme je do složených závorek
Příkaz if–else
if (podmínka) příkaz1;
else příkaz2;
Platí-li podmínka, provede se příkaz1, jinak se provede příkaz2. Příkazů může být i více.
Příkaz uvedený za elseif se provede v případě, že není splněna podmínka pro if a zároveň je
splněna podmínka za elseif. Částí elseif můžeme použít i několik za sebou.
Nakonec můžeme použít i část else, která se provede pouze v případě, že není
splněna ani jedna z předchozích podmínek
if (podmínka) příkaz1; elseif (podmínka2) příkaz2; elseif (podmínka3) příkaz3; else poslední příkaz;
Příklad:
<?php if ($heslo == 'Heslo') { echo 'Jste přihlášen/a'; } else { echo 'Špatné heslo!!!'; } ?>
<?php if ($Vek < 10) echo "prcek"; elseif ($Vek < 20) echo "teenager"; elseif ($Vek < 60) echo "v nejlepších letech:-)"; elseif ($Vek < 100) echo "prarodič"; else echo "někde mezi stovkou a …"; ?>
Switch
switch (proměnná) { case "hodnota1" : příkaz1; break; case "hodnota2" : příkaz2; break; default : příkaz3; }
Nejprve je vyhodnocena proměnná, pak jsou postupně procházeny hodnoty uvedené za klíčovým slovem case, dokud se nenalezne hodnota shodná s hodnotou proměnná. Následně jsou vykonávány příkazy, dokud se nenarazí na příkaz break nebo na konec příkazu switch.
Příklad:
<?php if ($ok) { switch ($jaz) { case 1:echo "Mluvíte jenom česky!"; break; case 2:echo "Mluvíte polsky"; break; case 3:echo "Mluvíte anglicky"; break; case 4:echo "Mluvíte romsky"; break; case 5:echo "Mluvíte italsky"; break; } } ?>
Cykly
Použijeme, pokud chceme opakovat určitou stejnou činnost několikráte za sebou (postupně ověřovat data, nebo generovat informace...)
While
Cyklus s testem na začátku, nemusí proběhnout vůbec.
while ( podminka ) { telo cyklu }
Příklad:
<?php //Sečti a vypiš čísla od 1 po 10 $i=1; $s=0; while ($i<11) { echo $i."<br>"; $s=$s+$i; $i++; } echo "celkovy soucet = ".$s; ?>
Do while
Cyklus s testem na konci, proběhne alespoň jedenkrát.
do { telo cyklu } while ( podminka );
Příklad:
<?php //Sečti a vypiš čísla od 1 po 10 $i=1; $s=0; do { echo $i."<br>"; $s=$s+$i; $i++; } while ($i<11); echo "celkovy soucet = ".$s; ?>
For
Cyklus se známým počtem opakování
for (inicializace; podmínka; výraz) { telo cyklu }
Příklad:
<?php //Sečti a vypiš čísla od 1 po 10 $s=0; for($i=1;$i<11;$i++) { echo $i."<br>"; $s=$s+$i; } echo "celkovy soucet = ".$s; ?>
Foreach
Příkaz foreach prochází pole jen přes jeden rozměr. Pokud chceme zpracovat všechny prvky vícerozměrného pole, musíme do sebe foreach několikrát vnořit.
$pole = array(...); foreach ($pole as $hodnota) { echo $hodnota; }
Příklad:
<?php //Vypiš pole $p=array(1,2,3,55); foreach($p as $h) echo "$h <br >"; ?>