V PHP jako i v ostatních programovacích jazycích lze najít příkazy pro větvení programu. Jak říkám, PHP v tomto není výjimka a tak i zde existují příkazy:
IF - jde o porovnání, pokud je podmínka splněna, vykoná se příkaz příslušící této podmínce.
$a = 1;
$b = 2
// zjistí jestli se rovnají proměnné $a a $b, pokud ano,
// vypiše echo "a = b";
if($a==$b) echo "a = b";
// pokud se má při splněné podmínce vykonat více příkazů,
// musí být tyto příkazy ve složených závorkách.
if($a==$b){
echo "a = b";
echo "je to tak, a = b";
echo "opravdu se vykonaji tyto tri prikazy";
}
IF- jde o porovnání, pokud je podmínka splněna, vykoná se příkaz příslušící této podmínce.
ELSE- pokud podmínka v IFu není splněna, vykonají se příkazy v těle přikazu ELSE.
ELSE nemůže nikdy stát sám, vždy musí mít nějaký IF. To je samozřejmé, potřebuje podmínku.
$a = 1;
$b = 2
// zjistí jestli se rovnají proměnné $a a $b, pokud ano,
// vypiše echo "a = b";
if($a==$b)
echo "a = b";
else
echo "a != b";
// pokud se má při splněné podmínce vykonat více příkazů,
// musí být tyto příkazy ve složených závorkách.
if($a==$b){
echo "a = b";
echo "je to tak, a = b";
echo "opravdu se vykonaji tyto tri prikazy";
}
else{
echo "a != b";
echo "je to tak, a != b";
echo "opravdu se $a a $b nerovnaji, verte tomu.";
}
ELSEIF - jde o možnost napsání vícenásobného IFu.
$a = 1; $b = 2 // zjistí jestli se rovnají proměnné $a a $b, pokud ano, // vypíše echo "a = b"; if($a==$b) echo "a = b"; elseif($a>$b) echo "a > b"; else echo "a < b";
<?/* // Pokud je splněn první if, vykoná se echo "a = b"; if($a==$b) echo "a = b"; // Pokud není splněn první if a je slpněn druhý, vykoná se echo "a > b"; elseif($a>$b) echo "a > b"; // Pokud není splněn ani jeden z ifů, vykoná se echo "a < b"; else echo "a < b"; */?>
SWITCH - mužeme říci, že jde o takový rozcestník, vstupem je proměnná, podle které se rozhoduje, jakou cestou se dá. Jednotlivé cesty reprezentují case porovnávná hodnota:
<?php
$a = 3;
switch($a)
{
case 0: echo "a = 0"; break;
case 1: echo "a = 1"; break;
case 2: echo "a = 2"; break;
case 3: echo "a = 3"; break;
default: break;
}
/*
// Popis funkce:
// Porovnává hodnotu v proměnné $a s jednotlivými čísli v casech, tady od 0-3.
// Pokud se ani jedno nerovná, vykoná se default.
// Break - pokud je v proměnné $a hodnota 0, vypíše echo "a = 0";
// a protože je tam BREAK zastaví vykonávání switche.
// Pokud ale by tam nebyl break, vykonaly by se i další příkazy příslušící
// ostatním casům, dokud by program nenarazil na první break;.
switch($a)
{
case 0: echo "a = 0"; break;
case 1: echo "a = 1"; break;
case 2: echo "a = 2"; break;
case 3: echo "a = 3"; break;
default: break;
}
// Příklady -------------------------------------------------------------------
// Příklad 1 s breakem:
// --------------------
$a = 0;
switch($a)
{
case 0: echo "a = 0"; break;
case 1: echo "a = 1"; break;
case 2: echo "a = 2"; break;
case 3: echo "a = 3"; break;
default: break;
}
Výpis příkladu 1: a = 0
// Příklad 2 bez breaku:
// --------------------
// Protože první break je až uz $a = 2, zastaví se výpis až tam.
$a = 0;
switch($a)
{
case 0: echo "a = 0";
case 1: echo "a = 1";
case 2: echo "a = 2"; break;
case 3: echo "a = 3"; break;
default: break;
}
Výpis příkladu 2: a = 0 a = 1 a = 2
*/
?>