Jquery elseif príklady. Podmienené príkazy v Javascripte - Konštrukcia IF-ELSE - Podmienky v Javascripte - Základy

V tomto článku sa pozrieme na podmienené a logické operátory jazyka JavaScript.

Podmienené príkazy JavaScriptu

Podmienečné vyhlásenia sú operátory JavaScript (ECMAScript), ktoré vám v závislosti od určitej podmienky umožňujú vykonať jednu alebo viac špecifických inštrukcií.

Formy podmienených príkazov v JavaScripte:

  • podmienený príkaz if (s jednou vetvou);
  • podmienený príkaz if... else (s dvoma vetvami);
  • podmienený príkaz else if... (s viacerými vetvami);
  • ternárny operátor (?: );
  • vyhlásenie o výbere prepínača.

Podmienený príkaz if

Syntax príkazu if je:

Ak (podmienka) vyhlásenie

Podmienený príkaz if pozostáva z:

  • kľúčové slovo ak ;
  • podmienky (výrazy v zátvorkách), ktoré sa musia vyhodnotiť ako pravda alebo nepravda (alebo musia byť pretypované na jednu z týchto hodnôt);
  • pokyny, ktoré treba dodržiavať, ak je podmienka pravdivá alebo sa na ňu hodí.

Napríklad:

Ak (pravda) počet = 4;

Tento príklad používa ako podmienku hodnotu true. To znamená, že počet inštrukcií = 4 bude vždy vykonaný. Tento príklad je jednoducho uvedený na vysvetlenie, ako funguje príkaz if, pretože je to bez akéhokoľvek významu.

Napríklad zväčšíme hodnotu premennej hlasov o 1, ak je to (jej typ) číslo:

If (typ hlasov === "počet") hlasov++;

Ak je potrebné vykonať viacero pokynov, musia byť umiestnené v zložených zátvorkách:

If (typeof votes === "number") ( votes++; console.log("Počet hlasov: " + hlasy); )

If (typ hlasov === "počet") (hlasy++; )

Ak...iné vyhlásenie

Príkaz if...else sa používa, keď je potrebné vykonať niektoré inštrukcie, ak je podmienka pravdivá, a iné, ak je nepravdivá.

Syntax:

If (podmienka) ( jeden alebo viac príkazov (vykonajú sa, keď je podmienka pravdivá alebo je znížená na pravdivú) ) else ( jeden alebo viac príkazov (vykonajú sa, keď je podmienka nepravdivá alebo je znížená na nepravda) )

Napríklad, vytlačte do konzoly správu o tom, či je číslo párne alebo nie:

If (číslo % 2) ( console.log("Číslo je nepárne!"); ) else ( console.log("Číslo je párne!"); )

Pravidlo na uvedenie podmienky na hodnotu true alebo false

Ak výraz v podmienke príkazu if nie je pravdivý alebo nepravdivý , JavaScript ho prenesie na jednu z týchto hodnôt. Táto akcia napĺňa ho pomocou takzvaného „pravidla lži“.

Význam tohto pravidla: každý výraz je pravdivý okrem nasledujúcich hodnôt:

  • falošný (falošný);
  • "" alebo "" (prázdny reťazec);
  • NaN (špeciálny číselný typ údajov „nie je číslo“);
  • 0 (číslo „nula“);
  • null("prázdna" hodnota);
  • undefined („nedefinovaná“ hodnota).

Ukážme si napríklad uvítaciu správu v konzole prehliadača v závislosti od toho, aká hodnota je uložená v premennej nameUser:

If (nameUser) ( console.log("Ahoj, " + meno + "!"); ) else ( console.log("Ahoj, hosť!"); )

Ak premenná nameUser obsahuje prázdny reťazec, potom sa podľa pravidla lie pretypuje na hodnotu false. Následne sa na konzole vytlačí správa „Ahoj, hosť!“. .

A ak napríklad premenná nameUser obsahuje reťazec „Timur“, výraz v podmienke sa zníži na hodnotu true. Výsledkom je, že konzola zobrazí správu „Ahoj, Timur!“ .

inak, ak... vyhlásenie (viaceré podmienky)

Syntax:

If (podmienka1) (inštrukcie 1) else if (podmienka2) (inštrukcie 2) else if (podmienka3) (inštrukcie 3 //...) else if (podmienkaN) (inštrukcie N) else (inštrukcie, ktoré sa vykonajú, ak ani jedna podmienok nie je pravdivá alebo nie je znížená na túto hodnotu)

Podmienený (ternárny) operátor (?:)

Ternárny operátor– JavaScriptový operátor, ktorý možno použiť, keď je potrebné v závislosti od podmienky vykonať jeden z dvoch daných výrazov.

Syntax:

Podmienka? výraz1: výraz2

Ternárny operátor pozostáva z troch operandov, ktoré sú oddelené pomocou symbolov? A: . Podmienka ternárneho operátora je špecifikovaná v prvom operande. Môže byť aj v zátvorkách. Ak je podmienka pravdivá alebo sa zníži na túto hodnotu, vykoná sa výraz1, v opačnom prípade sa vykoná výraz 2.

Napríklad:

(počet > 10) ? console.log("Číslo je väčšie ako 10!") : console.log("Číslo je menšie alebo rovné 10");

JavaScript umožňuje viacero ternárnych operátorov (?:):

Var dayNumber = new Date().getDay(); deň = (číslo dňa === 0) ? "Nedeľa" : (číslo dňa === 1) ? "pondelok" : (číslo dňa === 2) ? "Utorok" : (číslo dňa === 3) ? "Streda" : (číslo dňa === 4) ? "Štvrtok" : (číslo dňa === 5) ? "Piatok": (číslo dňa === 6) ? "Sobota" : "Neznámy deň v týždni"; console.log("Dnes " + deň.toLowerCase() + ".");

Vyššie uvedený príklad, ale s použitím viacnásobného zápisu príkazu if...else:

Var dayNumber = new Date().getDay(); if (dayNumber === 0) ( deň = "nedeľa"; ) else if (dayNumber === 1) ( deň = "pondelok"; ) else if (dayNumber === 2) ( deň = "utorok"; ) else if (dayNumber === 3) ( deň = "streda"; ) else if (dayNumber === 4) ( deň = "štvrtok"; ) else if (dayNumber === 5) ( deň = "piatok"; ) else if (dayNumber === 6) ( deň = "sobota"; ) else ( deň = "Neznámy deň v týždni"; ) console.log("Dnes " + day.toLowerCase() + ".");

príkaz prepnúť

Príkaz switch je navrhnutý tak, aby vykonal jednu z niekoľkých inštrukcií v závislosti od hodnoty výrazu. Výber jednej alebo druhej možnosti je určený prísnou rovnosťou výsledku výrazu k hodnote prípadu (prípadu).

Prepnúť syntax príkazu:

Switch (výraz) ( case value1: // ... inštrukcie, ktoré sa vykonajú, ak je výsledkom vyhodnotenia výrazu prerušenie „value1“; // voliteľná inštrukcia (ak sa nepoužije, vykoná sa nasledujúci príkaz príkazu switch ) case value2: // ... inštrukcie, ktoré sa vykonajú, ak je výsledkom vyhodnotenia výrazu “value2” break // voliteľná inštrukcia (ak sa nepoužije, vykoná sa nasledujúci príkaz operátora prepínača) // .. . case hodnotaN: // .. príkazy, ktoré sa vykonajú, ak je výsledkom vyhodnotenia výraz „valueN“ break // voliteľná inštrukcia (ak sa nepoužije, vykoná sa nasledujúci príkaz príkazu switch) predvolené: /. / inštrukcie, ktoré sa vykonajú, ak sa výsledok výrazu nerovná viac ako jednej z hodnôt)

Predvolené kľúčové slovo je voliteľné. Používa sa, keď potrebujete zadať inštrukcie, ktoré je potrebné vykonať, ak sa výsledok výrazu nerovná žiadnej hodnote prípadu (vec).

Príkaz break je voliteľný. Je navrhnutý tak, aby prerušil vykonávanie príkazu switch a preniesol na ovládanie inštrukcie, ktorá nasleduje po ňom.

Zobrazme napríklad správu v konzole prehliadača o počte cukríkov:

Var countCandyBoys = 1, countCandyGirls = 2, správa; switch (countCandyBoys + countCandyGirls) ( 1. prípad: správa = "Jeden cukrík"; prestávka; 2. prípad: 3. prípad: správa = "Dve alebo tri cukríky"; prestávka; 4. prípad: správa = "Štyri cukríky"; prestávka; predvolené: message = "Nie jedna, nie dve, nie tri alebo štyri cukríky" ) // vytlačí správu do konzoly console.log(message);

Vo vyššie uvedenom príklade je vyhodnotený výraz 3. Preto sa vykoná správa = "Dva alebo tri cukríky" a inštrukcie prerušenia. Inštrukcia break preruší ďalšie vykonávanie príkazu switch a prenesie riadenie na inštrukciu, ktorá príde za ňou, t.j. console.log(správa) . V konzole sa zobrazí správa "Dva alebo tri cukríky".

Ukážme si napríklad aktuálny deň v týždni v konzole:

Var deň = ""; switch(new Date().getDay()) ( prípad 0: deň = „nedeľa“; prestávka; prípad 1: deň = „pondelok“; prestávka; prípad 2: deň = „utorok“; prestávka; prípad 3: deň = "Streda" prípad 4: deň = "Štvrtok"; prestávka = "Sobota" ("Dnes " + deň.

Príklad, ktorý nepoužíva príkaz break:

Var vysledok = "uspech"; prepínač (výsledok) ( prípad "úspech": console.log("Úspech!"); prípad "invalidCaptcha": console.log("Neplatný obrázok Captcha!"); predvolené: console.log("Chyba!"); )

V tomto príklade je výraz príkazu switch úspešný. Preto sa vykoná príkaz console.log("Success!"), ktorý vypíše správu "Success!" do konzoly. Ale keďže za ním nie je žiadny príkaz break, vykonávanie skriptu bude pokračovať v ďalšej verzii. Inštrukcie sa teda budú vykonávať dovtedy, kým sa na ceste nenájde prerušenie alebo kým sa nedosiahne koniec príkazu switch. V dôsledku spustenia tohto príkladu sa do konzoly vypíšu 3 ​​správy: „Úspech!“ , "Neplatná captcha!" a "Chyba!" .

V niektorých prípadoch môže byť toto správanie potrebné, ale nie v tomto prípade. Jednoducho sa tu stala chyba.

Opravený príklad:

Var vysledok = "uspech"; prepínač (výsledok) ( veľkosť písmen "úspech": console.log("Úspech!"); zlom; veľkosť písmen "invalidCaptcha": console.log("Neplatný obrázok captcha!"); zlom; predvolené: console.log("Chyba!" ;

Logické operátory

JavaScript rozlišuje medzi nasledujúcimi logickými operátormi:

  • && - logické "AND";
  • || - logické "ALEBO";
  • ! -logické "NIE".

Ak v logický výraz operand1 && operand2 sú boolovské hodnoty, potom bude výsledok tohto výrazu pravdivý, ak bude každá z nich pravdivá ; inak bude hodnota tohto výrazu nepravdivá .

Nepravda && nepravda // nepravda pravda && nepravda // nepravda nepravda && pravda // nepravda pravda && pravda // pravda

Ak boolovský výraz operand1 && operand2 používa iné ako boolovské hodnoty, výsledkom výrazu bude operand1, ak ho možno pretypovať na hodnotu false ; inak bude výsledkom tohto výrazu operand2.

5 && 0 // 0 1 && 5 // 5 "riadok" && nedefinované // nedefinované "riadok1" && "riadok2" // "riadok2"

Ak je v logickom výraze operand1 || operand2 používa boolovské hodnoty, potom bude výsledok tohto výrazu pravdivý, ak aspoň jedna z nich bude pravdivá ; inak bude hodnota tohto výrazu nepravdivá .

Nepravda || nepravda // nepravda pravda || nepravda // pravda nepravda || pravda // pravda pravda || pravda

Ak je v logickom výraze operand1 || operand2 používa iné ako boolovské hodnoty, výsledkom tohto výrazu bude operand1, ak ho možno pretypovať na true ; inak bude výsledkom tohto výrazu operand2.

5 || 0 // 5 1 || 5 // 1 "riadok" || undefined // "reťazec" "reťazec1" || "riadok2" // "riadok1"

Booleovský výraz!operand1 sa vyhodnotí ako pravdivý, ak je operand1 nepravdivý alebo ho možno pretypovať na túto hodnotu; inak bude výsledok tohto výrazu nepravdivý .

False // true !true // false !"string" // false !5 // false"

Pokyny na ovládanie- Toto sú pokyny, ktoré vám umožňujú kontrolovať vykonávanie programový kód. Typicky sa vykonávací kód v riadiacej inštrukcii nazýva telo tejto inštrukcie.

Riadiace inštrukcie môžu byť vnorené a môžu byť použité aj v rámci iných riadiacich inštrukcií.

Podmienečné pokyny

V predvolenom nastavení interpret JavaScript vykonáva pokyny jednu po druhej v poradí, v akom sa zobrazujú zdrojový kód. V prípadoch, keď vykonanie alebo nevykonanie niektorých pokynov musí závisieť od splnenia alebo nesplnenia nejakej podmienky, používajú sa podmienečné pokyny.

ak vyhlásenie

Príkaz if má dve formy. Syntax prvého formulára:

Výraz v zátvorke je tzv podmienkou splnenia ak výroky alebo stručne podmienku. Najprv sa vypočíta hodnota výrazu. Výsledná hodnota sa v prípade potreby implicitne skonvertuje na booleovský typ. Ak je výsledok vyhodnotenia výrazu true , príkaz sa vykoná. Ak výraz vráti hodnotu false , príkaz sa nevykoná:

If (true) alert("Completed!"); if (false) alert("Nevykoná sa!");

Syntax if vám umožňuje vykonať iba jeden príkaz, ale ak potrebujete vykonať viac ako jeden príkaz, musíte použiť zložený príkaz:

If (true) ( ​​​​var str = "Ahoj!"; alert(str); )

Syntax druhej formy:

If (výraz) vyhlásenie; iné vyhlásenie;

Kľúčové slovo else vám umožňuje pridať príkaz, ktorý sa vykoná, ak sa podmienka vyhodnotí ako nepravda:

If (false) alert("Nevykoná sa"); else alert("Beží");

Ako už bolo spomenuté, riadiace inštrukcie môžu byť vnorené, čo vám umožňuje vytvárať nasledujúce konštrukcie:

Var num = 2; if (num == 1) ( alert("num value: " + num); ) else if (num == 2) ( alert("num value: " + num); ) else ( alert("Neviem poznaj toto číslo!");)

Na tomto kóde nie je nič zvláštne. Je to jednoducho postupnosť príkazov, kde každý príkaz if je časťou predchádzajúceho príkazu if. Táto forma zápisu sa na prvý pohľad nemusí zdať úplne jasná, a preto uvažujme o syntakticky ekvivalentnej forme zobrazujúcej vnorenie príkazov if:

Var num = 2; if (num == 1) ( alert("num value: " + num); ) else ( if (num == 2) ( alert("num value: " + num); ) else ( alert("I don't' nepoznám tieto čísla!");))

JavaScript má podmienenú konštrukciu, ktorá ovplyvňuje vykonávanie programu. Ak (v angličtine if) niečo existuje, niečo je pravda, potom urob jednu vec, inak (v angličtine else) - urob niečo iné.

ak vyhlásenie

Pozrime sa hneď na to, ako funguje príkaz if, je jednoduchý a nevyžaduje veľa vysvetľovania.

If (podmienka) (kód, ktorý sa má vykonať, ak je podmienka pravdivá)

Je to jednoduché: ak je podmienka pravdivá, vykoná sa kód v bloku (...).

Var číslica = 4; if (číslica == 4) ( document.write("Hodnota premennej digit je 4."); )

Môžete vytvoriť trochu zvláštny kód:

Var číslica = 4; if (true) (​document.write("Podmienka je pravdivá."); )

iné vyhlásenie

Príkaz else možno použiť v spojení s príkazom if. Prekladá sa ako „inak“ a špecifikuje alternatívny kód.

Var číslica = 4; ak (číslic

Všimnite si rôzne hláskovanie zložených zátvoriek v v tomto príklade za výroky if a else. Vôbec nie je potrebné to takto písať; obe syntaxe sú správne.

Po inom vyhlásení môže ísť nové pokyny ak. Tým sa skontrolujú viaceré podmienky.

Var číslica = 4; ak (číslic

JavaScript nemá príkaz elseif (jedným slovom) ako PHP.

Ak potrebujete vykonať iba jeden príkaz, blokovanie zložených zátvoriek (...) nie je potrebné. V našom príklade ich nemusíte písať:

Var číslica = 4; ak (číslic

Falošné v JavaScripte

Príkaz if (podmienka) vyhodnocuje a konvertuje podmienku (výraz) v zátvorkách na booleovský typ (true alebo false).

Zopakujme si, že v JavaScripte je lož.

  • Číslo 0 (nula).
  • Prázdny riadok "".
  • Boolovská hodnota je nepravda :)
  • Hodnota je nulová.
  • Hodnota nie je definovaná.
  • Hodnota je NaN (nie je číslo).

Všetko ostatné je pravda.

Zopár možných chýb:

If ("false") document.write("Toto je pravda.
"); if (false) document.write("To je pravda.

");

Tu musíte rozlíšiť reťazec „false“ (v úvodzovkách) od booleovskej hodnoty false.

If (" ") document.write("Toto je pravda.
"); else document.write("Toto nie je pravda.
");

Tu musíte rozlíšiť riadok " " (medzera vo vnútri). prázdny riadok"". Medzera vo vnútri reťazca spôsobuje, že nie je prázdny, ale obsahuje znak. Pre tlmočníka nezáleží na písmene alebo medzere – znak je znak.

Ďalšie podmienky v JavaScripte

  • Konštrukcia prepínača JavaScript.
  • Operátorský otáznik

IN Každodenný životČasto je potrebné urobiť nejaké rozhodnutie v závislosti od určitých podmienok. Napríklad, ak je cez víkend teplé počasie, pôjdeme k moru, inak, ak bude zamračené, budeme sedieť doma.

Aj to sa pri programovaní stáva veľmi často. Na toto existujú dva podmienené príkazy sú if-else a switch-case. V tomto článku vám poviem o operátorovi if-else av ďalšom článku o prepínači.

Syntax podmieneného príkazu if-elseĎalšie:


Ak je podmienka pravdivá, vykoná sa kód z bloku if, v opačnom prípade, ak je podmienka nepravdivá, vykoná sa kód z bloku else.

Pre lepšie pochopenie si zoberme taký jednoduchý príklad, máme istú sumu peňazí a chceme si kúpiť auto a tu hneď nastáva nasledujúca podmienka: ak máme dosť peňazí, tak si môžeme kúpiť toto auto, inak nemôže.

Var peniaze = 35000; // Povedzme, že máme 35 000 eur // Auto, ktoré si chceme kúpiť, stojí 50 000 eur. A nastáva nasledujúca podmienka if(peniaze > 50 000)( document.write("Môžeme si kúpiť auto"); )else( document.write("Nie je dosť peňazí na kúpu auta"); )

Uložíme dokument, otvoríme ho v prehliadači a uvidíme, že sa na stránke objaví nasledujúca správa: „Nie je dosť peňazí na kúpu auta.“ Ak by sme mali viac ako 50 000 eur, tak by sa vykonal kód z bloku if. Ak by sme mali presne 50 000 eur, tak by sme si tiež nemohli kúpiť auto, pretože 50 000 nie je viac ako 50 000, aby bola podmienka v tomto prípade pravdivá, treba napísať znamienko väčšie alebo rovné (>=) .

Komentujte! Logická operácia rovná sa je napísaná dvoma znakmi rovnosti (==). Existuje aj logická operácia menšia alebo rovná (

pomocou kučeravých zátvoriek

Ak existuje iba jeden operátor, potom zložené zátvorky nie sú potrebné, ak je v bloku viac operátorov, sú potrebné zložené zátvorky.

Vyššie uvedený príklad bude perfektne fungovať bez zložených zátvoriek, pretože oba bloky obsahujú iba jeden príkaz.

Do if môžete napísať ľubovoľné logické operácie, či už sú jednoduché alebo zložité. Môžete tiež použiť operátory AND (&&) a OR (||).

Komentujte! Prítomnosť bloku else je voliteľná.

Napríklad, ak sa a rovná b a c sa rovná d, potom zobrazíme zodpovedajúcu správu, v opačnom prípade, ak neexistuje žiadny iný blok, jednoducho prejdeme na ďalší riadok.

Var a = 4, b = 4, c = 8, d = 8; if((a == b) && (c == d)) document.write("a sa rovná b A c sa rovná d"); document.write("Ďalší riadok kódu");

Vyhlásenie If - else if - else

Po bloku if môže byť jeden alebo viac blokov else if a na konci je blok else. To je užitočné, keď potrebujete použiť viac ako jednu podmienku.


Pre lepšie pochopenie si zoberme príklad z bežného života. Napríklad máme určitý počet zásuviek. Ak máme v miestnosti len jednu zásuvku, tak môžeme pripojiť len jedno zariadenie, ak sú dve zásuvky, tak dve zariadenia a ak ich je viac, tak elektrickej siete, všetky zariadenia z domu.

Teraz prejdime k programovaniu.

Var zásuvka = 2; // Počet zásuviek v dome if(zásuvka == 1)  document.write("

Môžeme pripojiť iba jedno zariadenie

"); else if(socket == 2)( document.write("

Môžeme pripojiť iba dve zariadenia

"); document.write("

Napríklad televízor a notebook

"); )else( document.write("

Všetky zariadenia z domu vieme pripojiť do elektrickej siete

"); }

V závislosti od hodnoty premennej zásuvky bude fungovať jeden alebo druhý blok kódu. Ako ste už pravdepodobne pochopili, ak sa socket rovná 1, potom bude fungovať prvý blok kódu. Ak sa zásuvka rovná 2, potom bude fungovať druhý blok kódu a ak má zásuvka inú hodnotu (aj záporné číslo), bude fungovať tretí blok kódu.

Skratka pre ako inak

Skrátený zápis možno použiť, keď v závislosti od určitej podmienky môže premenná získať jednu alebo druhú hodnotu.


Napríklad, ak je hodnota premennej a väčšia ako hodnota premennej b, potom do premennej x napíšeme nasledujúcu správu „Premenná a je väčšia ako premenná b“, inak napíšeme, že „Premenná a je menej ako premenná b."

Var a = 50, b = 100, x; x = (a > b) ? "

Premenná a viac premenná b

" : "

Premenná a menej premenná b

"; //Výsledný výstup vypíše document.write(x);

To je všetko, čo som vám chcel v tomto článku povedať. Podmienený príkaz if-else sa v každom skripte používa viacerými spôsobmi, takže je veľmi dôležité ho poznať a pochopiť. V ďalšom článku vám poviem o ďalšom spínacom prípade podmieneného operátora.

Podmienený operátor umožňuje preskočiť alebo spustiť určitý blok kódu v závislosti od výsledku výpočtu zadaného výrazu – podmienky. O podmienenom príkaze možno povedať, že je rozhodovacím bodom v programe, niekedy sa nazýva aj príkaz vetvy. Ak si predstavíte, že program je cesta a interpret PHP je cestujúci, ktorý po nej kráča, potom si podmienené príkazy možno predstaviť ako križovatku, kde sa programový kód rozvetvuje na dve alebo viac ciest, a na takých križovatkách si interpret musí vybrať, ktorú cesta, ktorou sa treba vydať ďalej.

ak vyhlásenie

Príkaz if je najjednoduchší z príkazov vetvy.

Syntax príkazu if je:

Príkaz if najskôr vyhodnotí podmienený výraz uvedený v zátvorkách, výsledkom čoho je booleovská hodnota. Ak je získaný výsledok pravdivý, inštrukcia sa vykoná. Ak výraz vráti hodnotu false, inštrukcia sa nevykoná. Ako podmienku možno použiť výraz akejkoľvek zložitosti.

Ak telo príkazu if používa iba jednu inštrukciu, vloženie do zložených zátvoriek je možné, ale nie nevyhnutné. Ak však potrebujete vykonať viac ako jednu inštrukciu v tele príkazu if, potom tieto inštrukcie musia byť uzavreté v zložených zátvorkách. Upozorňujeme, že po uzávierke kučeravá ortéza Nemali by ste používať bodkočiarku.

Nasledujúci kód demonštruje použitie príkazu if:

Príkazy If môžu byť vnorené do iných príkazov if:

Venujte pozornosť poslednému príkladu: inštrukcia nemusí byť napísaná presne pod príkazom if, ak inštrukcia nie je veľká, môže byť napísaná v jednom riadku.

ak inak vyhlásenie

A tak sme sa dozvedeli, že príkaz if umožňuje vykonávať inštrukcie, ak je podmienka pravdivá. Ak je podmienka nepravdivá, nevykoná sa žiadna akcia. Často je však potrebné vykonať určité inštrukcie, ak je určitá podmienka pravdivá a iné inštrukcie, ak je podmienka nepravdivá. V takýchto prípadoch sa používa vetvenie. Pozostáva z príkazu if, za ktorým nasleduje blok príkazov a kľúčového slova else, za ktorým nasleduje ďalší blok príkazov.

Syntax príkazu if else je:

Príkaz else je voliteľný. Blok inštrukcií umiestnený za else sa štandardne vykoná, t.j. keď podmienený výraz v if vráti false . Príkaz else nemožno použiť oddelene od príkazu if. Blok else by sa mal objaviť až po príkaze if, možno ho považovať za predvolenú akciu.

Miernou úpravou nášho predchádzajúceho príkladu môžeme vidieť, ako funguje príkaz if else, ak podmienka vráti hodnotu false:

Príkaz if else môže byť vnorený. Takéto vnorené podmienené príkazy sa v praxi vyskytujú pomerne často. Príkaz if je vnorený, ak je vnorený do iného bloku if alebo else. Ak váš kód používa viacero príkazov if za sebou, druhý vždy odkazuje na najbližší, ak:

Posledná položka else sa nevzťahuje na if($a), pretože nie je in vnútorná jednotka, takže najbližšie k nej je if($i) . Príkaz else vo vnútri bloku súvisí s if($b), pretože toto if je k nemu najbližšie.

elseif/else if konštrukt

Príkaz if/else vyhodnotí hodnotu podmieneného výrazu a vykoná konkrétnu časť programového kódu. Čo ak však potrebujete vykonať jeden z mnohých fragmentov? Ak potrebujete skontrolovať niekoľko podmienok za sebou, potom je na to vhodná konštrukcia elseif alebo else if (ide o rovnakú konštrukciu, len inak napísanú). Formálne to nie je nezávislý PHP konštrukt - je to len bežný programovací štýl, ktorý pozostáva z používania opakovaných príkazov if/else. Umožňuje testovať ďalšie podmienky, kým sa nenájde pravda alebo kým sa nedosiahne blok else. elseif/else if konštrukt sa musí objaviť za príkazom if a pred príkazom else, ak nejaký existuje.

Tu sa kontrolujú tri podmienky a v závislosti od hodnoty premennej $username sa vykonajú rôzne akcie.

Na tomto kúsku naozaj nie je nič zvláštne. Je to jednoducho postupnosť príkazov if, kde každý príkaz if je súčasťou klauzuly else predchádzajúceho príkazu if. Pre tých, ktorí sa s touto formou zápisu stretli po prvý raz a poriadne nerozumejú, ako to funguje, prepíšeme rovnaký príklad, len v ekvivalentnej syntaktickej forme, ktorá plne zobrazuje vnorenie štruktúr: