Pro větvení používáme skupinu příkazů, které rozhodují,jak se bude skript dál vyvíjet. Jsou to příkazy typu if, else, elseif a switch.
If
Příkaz if zjišťuje, zda je daná podmínka pravdivá:
$a=21;
$b=21;
if($a == $b){
echo ("Čísla se rovnají.");
}
možno zapsat:
$a=21;
$b=21;
if($a == $b) echo ("Čísla se rovnají.");
Proměnná $a je rovna $b, skript vypíše: Čísla se rovnají.
If else a elseif
Podmínka if - else opět rozhoduje zda pro proměnnou platí zadané podmínky.
if (podmínka) proces1;
else proces2;
Platí-li podmínka provede se proces1, jinak se provede proces2.
if (podmínka1)
proces1;
elseif(podmínka2)
proces2;
elseif(podmínka3)
proces3;
else
poslední proces;
Platí-li podmínka1 provede se proces1, platí-li podmínka2 provede se proces2, platí-li podmínka3 provede se proces3, jinak se provede poslední proces.
Do proměnné promen budeme vkládat různá čísla a testovat, zda je menší, rovna nebo větší než 21
<?php
$promen = 21; //do proměnné promen vložíme hodnotu 21
if ($promen==21)
echo("Proměnná je 21."); //jestliže promen je rovno 21, vypíše se text
elseif ($promen<21)
echo("Proměnná je menší než 21"); //jestliže promen je menší než 21, vypíše se text
else
echo("Proměnná je větší než 21"); //jestliže promen je větší než 21, vypíše se text
?>
Generování obsahu pomocí PHP
Nyní se podíváme, jak lze pomocí PHP vytvářet celé stránky:
<html>
<head>
<title>generování HTML</title>
<head>
<body>
<?php $action = $_GET["action"]; ?>
<?php if($action == "a1"):?>
<strong>Funkce PHP</strong>
<?php elseif($action == "a2"): ?>
<em>Proměnné</em>
<?php elseif($action == "a3"): ?>
<?php echo ("<strong>Cykly</strong>
<strong>větvení</strong>"); ?>
<?php endif; ?>
</body>
</html>
A k čemu je to dobré? Můžete v jedné stránce zobrazovat desítky stránek, které se budou lišit v URL jen předávanou proměnnou. Skript se například jmenuje skript.php, když zavoláme URL skript.php?action=a1, zobrazí se obsah u první podmínky, když zavoláme skript.php?action=a2, zobrazí se obsah u druhé podmínky atd.
Switch
Nyní budeme zjišťovat, které hodnotě je proměnná rovna pomocí příkazu switch:
$jmeno = "Petr";
switch ($jmeno){
case "Honza" :
echo("Honza");
break;
case "Jiří" :
echo("Jiří");
break;
default :
echo("Petr");
}
Syntaxe:
switch (proměnná) {
case "hodnota1" : proces1; break;
case "hodnota2" : proces2; break;
default : proces3;
}
skript zjišťuje, zda je proměnná rovna hodnotě1, nebo hodnotě2. Pokud ani jedna nevyhovuje provede se proces u příkazu default. Jednotlivé procesy musí být odděleny příkazem break, jinak by se jich provádělo více.