Podmínky nám slouží k vykonání určité části kódu, pouze pokud je platný nějaký výraz. Jsou vždy pouze dvě možnosti, buď je výraz pravda (true) nebo nepravda (false).
<?php
$barva = 'cervena';
$barva === 'cervena'; //true
$barva === 'modra'; // false
$vek = 5;
$vek > 18; // false
?>
Pro zapsání podmínky používáme klíčové slovo if. Za ním následuje v kulatých závorkách podmínka a následně ve složených závorkách blok kódu, který se provede, pokud je podmínka splněna.
Jak podmínky fungují snéze pochopíme, když si zápis podmínky přeložíme do normálního jazyka. If přeložíme jako když.
<?php
$barva = "červená";
if ($barva === "červená") {
echo "Ano, barva je červená";
}
?>
Zápis v příkladu výše bychom mohli přeložit jako: Když barva se rovná červená, tak vypiš na stránku text: Ano, barva je červená.
U podmínek používáme různé operátory, v tabulce níže jsem udělal kompletní shrnutí.
| Operátor | Zápis |
|---|---|
| Rovná se | === |
| Nerovná se | !== |
| Je větší | > |
| Je menší | < |
| Je větší nebo rovno | >= |
| Je menší nebo rovno | <= |
| Operátor | Zápis | Význam |
|---|---|---|
| A | && |
Pravda pokud obě $x a zároveň $y jsou pravda |
| Nebo | || |
Pravda alespoň $x nebo $y jsou pravda |
| Obecná negace | ! |
Pravda pokud $x není pravda (otočení významu). |
<?php
$vek = 24;
if ($vek >= 18) {
echo "Jsi plnoletá";
}
?>
Zapis v příkladu výše by jsme mohli přeložit jako: Když věk je větší nebo roven 18, tak vypiš na stránku text Jsi plnoletá.
Klíčové slovo else použijeme pokud chceme zapsat blok kódu, který se vykoná za předpokladu, že podmínka splněna není.
Else budeme překládat jako jinak.
<?php
$vek = 18;
if ($vek >= 18) {
echo "Jsi plnoletá";
} else {
echo "Ještě nejsi plnoletá";
}
?>
Tento zápis přeložíme jako: Když věk je větší nebo roven 18, tak vypiš na stránku text Jsi plnoletá. Jinak vypiš na stránku text Ještě nejsi plnoletá.
Klíčové slovo else if použijme v případě, že chceme vyhodnocovat další podmínky, pokud podmínka u if splněna nebyla. Vyhodnocování vždy probíhá pouze do doby, než kód narazí na první platnou podmínku. V PHP se může provést zápis i bez mezery, tedy elseif.
Else if přeložíme jako jinak když.
<?php
$pohlavi = "muž";
$maAuto = false;
if ($pohlavi === "muž" && $maAuto === true) {
echo "Je to muž a má auto";
} else if ($pohlavi === "muž") {
echo "Je to muž";
} else {
echo "Není to muž";
}
?>
Překlad: Když pohlaví se rovná muž a zároveň má auto, tak vypiš na stránku text Je to muž a má auto. Jinak když pohlaví se rovná muž, tak vypiš na stránku text Je to muž. Jinak vypiš na stránku text Není to muž