PHP - Větvení

Větvení je skupina příkazů, které rozhodují (porovnávají proměnné) a určují jak se bude skript dál vyvíjet. Jsou to příkazy typu if, else, elseif a switch. Pokud zvládáte větvení v Javascriptu, nebude pro vás PHP nic nového.

If

Příkaz if zjišťuje zda je daná podmínka pravdivá:

$a=1;
$b=2;
if($a == $b){
echo ("Jsou si rovny.");
echo ("A i b mají stejnou hodnotu"); 
}

Pokud by proměnná $a byla rovna $b, skript by vypsal: Jsou si rovny. A i b mají stejnou hodnotu. To se však nestane, jelikož daná podmínka: $a==$b je rovna 0 (není pravdivá). Více porovnávací operátory.

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. Příkazů může být i více.

if (podmínka)
	proces1;
elseif(podmínka2)
	proces2;
elseif(podmínka3)
	proces3;
else
	poslední proces;   
$a = 5;
if ($a==4)
	echo("4");
	elseif ($a<4)
		echo("menší než 4");
	else{
		if($a>4 && $a<7){
			echo("číslo je větší než 4 a menší než 6");
		}
		else echo($a);
		}

Rozhodujeme zda $a je rovna 4. Pokud není, nejprve rozhodne, zda je menší než 4, jinak rozhoduje, jestli je větší než 4 a zároveň menší než 7. Pokud ani tato podmínka neplatí, skript vypíše skript vypíše hodnotu proměnné.

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.

Další: PHP cykly



Doporučuji
Pro své weby používám *Webhosting C4: 20 GB prostoru, PHP, MySQL, e-maily, subdomény za 1200 Kč (zdarma 2 GB navíc každý rok). Více WebhostingC4.cz.
Potřebujete poradit?


Vyhledávání


Poradna

Pokud si nevíte rady, chcete kontakt na spolehlivého tvůrce webu, či vás zajímá cizí názor, ozvěte se.

Reklama