Ří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 >"; ?>