Nacházíte se: tvorba webu :: php :: vetveni

Větvení

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
  • else
  • elseif
  • switch

IF

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 - ELSE

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

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"; 

Okomentovaná verze

 <?/*
 // 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

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:

  • switch($promenna)
  • {}
  • case 1:
  • break;
  • default:
 <?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  
 */
?>
úvod | tvorba webu | ostatní | služby | návštěvní kniha | kontakt