Navigácia
PODMIENKY - IF, ELSE, ELSEIF
if je príkaz ,ktorý sa používa v prípade ,že potrebujeme pri splnení (alebo naopak, pri nesplnení) podmienky vykonať ľubovoľný príkaz. Najjednoduchší zápis je :
if (podmienka) príkaz;
Napríklad :
$a=1;
if($a != 0) echo "\$a sa nerovná nule !";
Iný zápis použijeme najmä vtedy ak chceme po splnení podmienky vykonať viacej príkazov, ktoré uzavrieme do zložených zátvoriek {}.
if(podmienka) {
príkaz;
príkaz;
}
Ak nechceme použiť zložené zátvorky ,použijeme príkaz endif. Nasledujúci príklad je ekvivalentný s predošlým :
if(podmienka) :
príkaz;
príkaz;
endif;
Osobne využívam možnosť so zloženými zátvorkami. Zdá sa mi najelegantnejšia.
if(podmienka) {
príkaz;
príkaz;
}
else
{
príkaz;
}
Tento príkaz je takisto možné ukončiť pomocou endif a to takým istým spôsobom ako v prípade if. Ale dvojbodku je nutné zadať nielen za if ,ale aj za else !
Ak je potrebné zadať dve a viac podmienok, použijeme na to príkaz elseif. Príkaz má potom nasledovný priebeh : Ak sa nesplní prvá podmienka (if) , nasleduje druhá podmienka (elseif) a keď sa nesplní ani tá , pokračuje sa príkazmi za else. Príkaz elseif môžme použiť viackrát za sebou.
if(podmienka) {
príkaz;
}
elseif {
príkaz;
}
else
{
príkaz;
}
Príkaz if môžeme vnárať do seba , nasledovným spôsobom :
if(podmienka){
if(podmienka){
príkaz;
}
else{
príkaz;
}
}
else {
príkaz;
}
Pre lepšie pochopenie podmienok pridávam príklad :
Príklad 11
<?php $a=1; if ($a != 0) echo "\$a sa nerovná nule! <br />"; //iný zápis if pri použití viacerých príkazov $a=1; if($a != 0) { echo "\$a sa nerovná nule! <br />"; $b = $a * 2; echo $b."<br />"; } //použitie endif $a=1; if($a != 0) : echo "\$a sa nerovná nule! <br />"; $b = $a * 2; echo $b."<br />"; endif; //použitie else $a=1; if($a != 0) { $b = 2 / $a; echo $b."<br />"; } else { echo "\$a sa rovná nule , nie je možné deliť nulou. <br />"; } //použitie elseif $a = 3; if($a == 1) { echo $a; } elseif($a == 2) { echo $a; } else { echo $a."<br />"; } //if v if (: $pohlavie = "zena"; $meno = "Zuzka"; if ($pohlavie == "zena") { if ($meno == "Zuzka") { echo "Zuzka"; } else { echo "Źena"; } } else { echo "Muž"; } ?> |
CYKLUS - while, do-while, for
Cyklus má na začiatku príkazu (platí len pre while) podmienku. A pokiaľ je tá, splnená vykonávajú sa určité príkazy. Príkaz je while má nasledovnú syntax : while (podmienka) príkaz;
Pri príkaze while sa najprv vyhodnocuje podmienka , preto pri jej nesplnení cyklus neprebehne.
Takisto ako pri if , môžme aj pri while použiť zložené zátvorky {} , alebo variantu s dvojbodkou a ukončením - endwhile.
while (podmienka) {
príkaz;
príkaz;
}
alebo
while (podmienka):
príkaz;
príkaz;
endwhile;
Cyklus môžme vykonať aj príkazom do-while. Jednoducho povedané znamená rob(do) príkazy pokiaľ(while) nie je splnená podmienka. Zásadný rozdiel oproti while je ten , že tu najprv prebehne cyklus a až potom sa skontroluje podmienka. Cyklus končí pri nesplnení podmienky.
Syntax má nasledovnú a nemá žiadnu inú alternatívu :
do {
príkazy;
}
while(podmienka);
Ak vieme koľkokrát chceme prejsť cyklom, použijeme príkaz for. Jeho syntax je :
for (výraz1; výraz2; výraz3) príkaz;
Pri vyhodnocovaní tohto príkazu sa deje toto:
Vyhodnotí sa prvý výraz, potom sa vyhodnotí druhý výraz a ak je vrátená hodnota true prejde sa na príkazy a po ich vykonaní (čiže po prechode cyklom) sa vyhodnotí tretí výraz. A toto sa deje dovtedy pokiaľ druhý výraz vracia hodnotu true.
Keďže prvý výraz je vyhodnotený vždy používa sa na inicializáciu premenných. Druhý výraz je podmienka ,nakoľko vracia booleovskú hodnotu true ,alebo false. A posledný tretí výraz sa používa na aktualizáciu premennej, resp. prvého výrazu.
Pri použití viacerých príkazov môžme použiť klasiku - zložené zátvorky ,alebo dvojbodku a ukončenie endfor. Snáď to už nemusím rozpisovať.
Vo výrazoch je možné použiť operátor "čiarka - ,".
for(výraz1 ,výraz1-2, výraz1-3;výraz2;výraz3) príkazy;
Uvediem príklad pre lepšie pochopenie cyklu. Sú tam použité všetky uvedené príkazy a každá z nich vypíše čísla od 1 do 10.
Príklad 12
<?php //while $a = 1; while ($a <= 10) { echo $a; $a++; } echo "<br />"; //while ,ale s ukončením endwhile - ekvivalent s predošlým zápisom $a = 1; while ($a <= 10): echo $a; $a++; endwhile; echo "<br /><br />"; //použitie príkazu do-while - ekvivalent k predošl. zápisom $a = 1; do { echo $a; $a++; } while ($a <= 10); echo "<br />"; //príkaz for - spraví to isté for ($a=1; $a <= 10; $a++) { echo $a; } ?> |
foreach()
Tento cyklus využijeme hlavne pri práci s poľom. Každým cyklusom prejde prvkom poľa a posunie ukazovateľ na ďalší prvok poľa. Viacej napovie príklad.
Syntax :
foreach(pole as hodnota) {
prikazy ...
}
Príklad :
$pole = array("prve pole","druhe pole","tretie pole");
foreach($pole as $hodnota) {
echo "Hodnota :".$hodnota;
}
Vypíše :
"prve pole
druhe pole
tretie pole"
SWITCH
Niekedy ,ak máme viacej podmienok sa nám oplatí využiť príkaz switch.Pred ním Vás však oboznámim s príkazmi :
- break - ukončuje neuzavretý cyklus - cyklus okamžite končí , má nepovinný parameter a to číslo ,ktoré určuje koľko cyklov sa má ukončiť - break(1);
- continue - skáče na koniec neuzavretého cyklu a tým si vynúti ďalšie spustenie vnútorného cyklu - cyklus neopúšta.
switch (výraz) {
case hodnota1:
príkazy1;
break;
case hodnota2:
príkazy2;
break;
default:
default príkazy;
}
Ako prvý sa vyhodnotí výraz a potom sa skontroluje jeho hodnota ak je to hodnota1 spustia sa príkazy1 a vykonávajú sa dovtedy kým sa nenarazí na break. Príkazy2 sa spúštajú analogicky ako príkazy1, teda ak má výraz hodnotu2. A príkazy za časťou default, ktorá je nepovinná sa vykonajú v prípade ,že výraz sa nerovná ani jednej hodnote. Pri príkaze switch takisto môžme použiť namiesto zložených zátvoriek dvojbodku a endswitch. Pre lepšie pochopenie pridávam nasledovný príklad :
Príklad 11
<?php //switch $a = 2; switch ($a) { case "1": echo "\$a = 1"; break; case "2": echo "\$a = 2"; break; default: echo "\$a sa nerovná 1 ani 2 !"; } ?> |
Články
Predošlý článok : Rekapitulácia I
Nasledujúci článok : 5. Funkcie
Odkazy
Stiahnite si príklady vypracované v článku
Komentáre