Začínáme s PHP - switch (12.díl)

Napsal Mgr.Radovan Kaluža (») 16. 8. 2004 v kategorii PHP/HTML, přečteno: 13305×

Jedna z podmínek, na kterou je nutné si dát pozor.

Řídící struktura switch je velice podobná již zmiňované konstrukci If..Elseif..Else. Její využití najdete v případě porovnání argumentu s větší množinou hodnot.

Příkaz switch je nutno dobře pochopit, co vlastně dělá. Switch prochází řádek po řádků, pokud najde case s hodnotou odpovídající výrazu, který testujeme, tak začne provádět příkazy. Vykonání kódu pokračuje dokud nedosáhne konce bloku, nebo nenarazí na break. Pokud zde nebude break, dočkáte se nečekaných věcí.

V příkladu pomocí parametru strana načítám číslo 1 nebo 2 a podle toho se rozhoduji jakou stranu načtu. Příklad jsem rozšířil o případ, že pro 0 a 1 chci načíst první stranu http://www.owebu.cz/css/, zde demonstruji případ toho, co se stane, pokud se nevyskytuje break.

soubor index.php <?

Switch ($_REQUEST['strana'])
{
case 0:
case 1:
$url="http://www.owebu.cz/css/";
break;

case 2:
$url="http://www.owebu.cz/php/";
break;

default:
$url="http://www.owebu.cz/";
}


?>
<p> námi zvolená strana: <a href="<? echo $url ?>"><? echo $url ?></a>

<p> námi zvolená strana: <a href="index.php?strana=0">strana 0</a>
<p> námi zvolená strana: <a href="index.php?strana=1">strana 1</a>
<p> námi zvolená strana: <a href="index.php?strana=2">strana 2</a>

Pokud jste příklad zcela nepochopily, pak zkuste vykonat následující dva kódy. První kód: <?
$a = 2;
Switch ($a)
{
case 1:
echo "a je rovna 1 ";
break;

case 2:
echo "a je rovna 2 ";
break;

case 3:
echo "a je rovna 2 ";
break;

default:
echo "Promenna a neni rovna nicemu co bychom potrebovali !";
}

?>

a druhý kód <?
$a = 2;

Switch ($a)
{
case 1:
echo "a je rovna 1 ";

case 2:
echo "a je rovna 2 ";

case 3:
echo "a je rovna 3";

default:
echo "Promenna a neni rovna nicemu co bychom potrebovali !";
}

?>

V posledním příkladu, jsem omylem zapomněl dodat break.

Facebook Twitter Topčlánky.cz Linkuj.cz

Komentáře

Zobrazit: standardní | od aktivních | poslední příspěvky | všechno
michal :D z IP 217.11.253.*** | 12.12.2009 21:06
kdyz sem si vsiml autora clanku, tak sem prestal cist smile
| 12.12.2009 21:17
Dobry vecer,

cteni neni povinne, vyzkousejte cist bez autora a pote pokud neco nebude dobre napiste kritiku clanku.

Pekny vecer,
JS


Nový komentář

Téma:
Jméno:
Notif. e-mail *:
Komentář:
  [b] [obr]
Odpovězte prosím číslicemi: Součet čísel čtyři a dvanáct