Podmínky a cykly jsou základem každé interaktivní aplikace. Díky nim můžeme rozhodovat o tom, co se má stát, jak často, nebo zda má program určitou část přeskočit. V tomto článku se naučíte vše podstatné o konstrukcích if
, switch
, for
, while
, do-while
, foreach
i o praktickém použití break
, continue
a ternárního operátoru.
if-else
a switch-case
if-else:
<?php
$vek = 18;
if ($vek >= 18) {
echo "Jste plnoletý.";
} else {
echo "Ještě nejste plnoletý.";
}
?>
switch-case:
<?php
$den = "úterý";
switch ($den) {
case "pondělí":
echo "Začátek týdne";
break;
case "pátek":
echo "Těšíme se na víkend!";
break;
default:
echo "Běžný pracovní den";
}
?>
Kdy co použít: if
se hodí pro rozsahy a složitější podmínky, switch
je efektivní při porovnávání více hodnot.
for
, while
, do-while
, foreach
for – když známe počet opakování:
<?php
for ($i = 1; $i <= 5; $i++) {
echo "Hodnota: $i <br>";
}
?>
while – opakuje, dokud je podmínka pravdivá:
<?php
$i = 1;
while ($i <= 5) {
echo $i++;
}
?>
do-while – provede se alespoň jednou:
<?php
$i = 6;
do {
echo $i;
} while ($i <= 5);
?>
foreach – ideální pro procházení pole:
<?php
$jmena = ["Petr", "Jana", "Marek"];
foreach ($jmena as $osoba) {
echo "Ahoj, $osoba!<br>";
}
?>
break
a continue
break
ukončí aktuální smyčku nebo blok switch
. continue
přeskočí na další iteraci cyklu.
Příklad:
<?php
for ($i = 1; $i <= 10; $i++) {
if ($i == 5) continue;
if ($i == 8) break;
echo "$i<br>";
}
?>
<?php
$vek = 20;
echo ($vek >= 18) ? "Dospělý" : "Nezletilý";
?>
Ternární operátor je výhodný při jednoduchých rozhodnutích, ale nepřehánějte to s jeho vnořováním.
}
break
– způsobí nečekané průchody switch-em$i++
nebo chyba v podmínce=
za ==
– při porovnáváníTip na ladění:
<?php
ini_set("display_errors", 1);
error_reporting(E_ALL);
?>
Pri ladění využívejte také var_dump()
a print_r()
.
Podmínky a cykly tvoří základ logiky v každé aplikaci. Pokud jim rozumíte, můžete tvořit efektivní, čitelný a robustní kód.
Chcete se naučit PHP od základů až po práci s databází a AJAXem? Vyzkoušejte náš kurz PHP – Programovanie dynamických webových stránok v PHP a úvod do AJAXu a získejte jistotu v každodenní práci s PHP.
Viac informacií preberáme na kurze:
Kurz PHP - Programování dynamických webových stránek v PHP a úvod do AJAXu
Marián Knězek