Računalniki Windows internet

Če drugače, sintaksa. Pogojni operaterji. Pozdravni scenarij glede na čas dneva

Nekateri viri pravijo, da je stavek select, če je drugače neodvisni operater... Vendar ni, if else je le zapis stavka za izbiro if. Stavek if else omogoča programerju, da definira dejanje, ko je pogoj resničen, in alternativno dejanje, ko je pogoj napačen. Medtem ko je dovoljeno definirati dejanje pod resničnim pogojem.

Sintaksa za pisanje stavka select, če je drugače:

Če (/ * preverjen pogoj * /) (/ * telo izbirnega operaterja 1 * /;) drugače (/ * telo izbirnega operaterja 2 * /;)

Takole se glasi: »Če je preverjeni pogoj resničen, potem izberite telo izjave 1, v nasprotnem primeru (to je, da je preverjen pogoj napačen) je izpolnjen izberite telo izjave 2". Upoštevajte, kako je napisan stavek if else. Druga beseda je namerno premaknjena v desno na programsko kodo je bilo razumljivo in lahko berljivo.

Poglejmo si problem iz prejšnje teme z uporabo if else. Naj vas spomnim na pogoj problema: "Dani sta vam dve številki, morate ju primerjati."

// if_else.cpp: definira vstopno točko za aplikacijo konzole. #include "stdafx.h" #include uporaba imenskega prostora std; int glavni (int argc, char * argv) (int a, b; cout<< "Vvedite pervoe chislo: "; cin >> a; cout<< "Vvedite vtoroe chislo: "; cin >> b; če (a> = b) // če je a večje ali enako b, potem (cout<< a << " >= " << b << endl; } else // иначе { cout << a << " <= " << b << endl; } system("pause"); return 0; }

V tej kodi nas zanimavrstice 14-20... Te vrstice se berejo takole: če a (prvo število) večje ali enako b (druga številka), nato izvedite izhodni stavek vvrstica 16

Cout<< a << " >= " << b << endl;

sicer izvedite izhodni stavek v vrstica 19

Cout<< a << " <= " << b << endl;

V tem ife uporabljamo relacijske operacije> = in<= . Условие перехода не совсем правильно, так как условие будет ложно только в том случае, если первое число будет меньше второго, во всех остальных случаях условие истинно. Значит, vrstica 19 mora biti tako napisano

Cout<< a << " < " << b << endl; // в кавычках записать не меньше или равно, а просто меньше.

In tako je program deloval (glej sliko 1).

Vvedite pervoe chislo: 15 Vvedite vtoroe chislo: -4 15> = -4 Pritisnite katero koli tipko za nadaljevanje. ... ...

Slika 1 - Operater po izbiri, če je drugače

Naj vam pokažem še en primer uporabe izbirnih stavkov if else (tako imenovanih ugnezdenih stavkov if else za večkratno izbiro).

Naloga:
Ustvarite algoritem, ki poišče vrednost y, če je y = x, za x<0; у=0, при 0<=х<30; у=х 2 , при х>=30;

// inif_else.cpp: definira vstopno točko za aplikacijo konzole. #include "stdafx.h" #include uporaba imenskega prostora std; int glavni (int argc, char * argv) (int x, y; cout<< "Vvedite x: "; cin >> x; če (x< 0) { y = x; // выполняется, если х меньше нуля } else { if ((x >= 0) && (x< 30)) { y = 0; // выполняется, если х больше либо равно нуля и меньше 30 } else { if (x >= 30) (y = x * x; // izvede se, če je x večji ali enak 30))) cout<< "y=" << y << endl; system("pause"); return 0; }

Pri tej težavi so možni trije primeri:
1. primer: x< 0 ;
2. primer: x leži v območju od 0 (vključno z 0) do 30;
3. primer: x je večji ali enak 30.

Bodite pozorni na inovacijo!! V 17 vrstica zapis, kot je ta: če ((x> = 0) && (x< 30)) , uporabil sem simbole && - to. Booleova operacija IN&& je potreben za združevanje več preprostih pogojev v eno spojino. V našem primeru je treba preveriti resničnost dveh pogojev: prvi - x> = 0, drugi - x< 30 . Все проверяемое условие будет истинно, если истинны два простых условия. В математике правильной записью считается такая запись: 0 <= x < 30 , а в С++ правильной записью считается вот такая запись: (x >= 0) && (x< 30) или такая 0 <= x && x < 30 . Кстати круглые скобочки () && () не обязательны, так как условия простые, но для уверенности, я прописываю, всегда, данные скобочки и вам советую.

Analiza posameznega primera:

Recimo, da je uporabnik vnesel številko 31. Začenši od vrstica 12, so pogoji preverjeni. Takole se glasi: "Če je x (31 v našem primeru)< 0, то выполнить оператор в vrstica 14". Ker pa je 31> 0 pogoj napačen, gremo na besedo drugače (sicer) vrstica 15... Nato preverimo, ali je številka 31 v določenem intervalu. Takole se glasi: če je x> = 0 in x<30nato izvedite stavek v vrstici 19 ... Ker pa številka 31 ni vključena v navedeni interval, je pogoj napačen. Podrobno vrstica 17: program bo najprej preveril prvi preprost pogoj x> = 0 - res je, in če je prvi resničen, bo program nadaljeval s preverjanjem drugega preprostega pogoja x< 30 – оно ложно. Следовательно всё составное условие ложно, ведь в составном условии у нас используется логическая операция && , а это значит, что все составное условие истинно только в том случае, когда истинны оба простых условия. Переходим к else (иначе), здесь у нас последний if , (vrstica 22). Izvede se preverjanje x> = 30. Takole se glasi: Če je x> = 30, izvedite operator v vrstici 24 ... Končno je pogoj resničen, zato je izjava v vrstica 24... IN vrstica 28 natisne dobljeno vrednost. No, vsi so preučili program do najmanjših podrobnosti. Rezultat programa, če je uporabnik vnesel številko 31 (glej sliko 2)

Začasno ustavite AdBlock na tem spletnem mestu.

Zdaj, ko smo ugotovili pogojne izraze, lahko preidemo na glavno temo lekcije - pogojni operater.

Predloga izjave če - drugače

Tukaj sta dve glavni možnosti:

Seznam 1.

// prva možnost if (pogojni_izraz) operator_1; // druga možnost if (pogojni_izraz) operator_1; drugače operater_2;

In slike, seveda. Kam gremo brez slik?

Slika 1 Blok diagrami operaterja if-else.

Ta operater deluje tako. Vrednost pogojnega izraza je ovrednotena. Če je resničen, se izvede stavek_1 iz glavne veje, če pa je napačen, se bodisi nič ne zgodi (v prvi različici), bodisi se izvede stavek_2 iz stranske veje (v drugi različici).

Predlagam, da takoj razumemo primere. Na primer, kaj mislite, da bo prikazana naslednja koda? Preverite svoje ugibanje.

Seznam 2.

#vključi int main (void) (če (1) printf ("TRUE! \ n"); drugače printf ("FALSE! \ n"); vrni 0;)

No ja, tako je, izpisalo bo RES! ... Pogoj je resničen. Ste pozabili, da je ena resnica? Zdaj vam bom povedal nekaj groznega. Vsako število, ki ni nič, se šteje za resnično. Preverite sami.

V redu, tukaj je primer. Kaj mislite, da bo ta program prikazal?

Seznam 3.

#vključi int main (void) (če (0) printf ("FALSE! \ n"); vrni 0;)

Upam, da ste dali pravilen odgovor in vas ni zmedla vrstica z izhodom FALSE! ki sem ga namenoma dodal, da bi te zmedel. Da, ta program ne bo izpisal ničesar. Pogoj v oklepaju je napačen, kar pomeni, da stavek ne bo izveden. Vse je po pravilih.

Vzemimo še en primer za utrjevanje. Bodite izjemno previdni, vse sem pripravil za vas. Kaj bo torej ta koda izpisala?

Seznam 4.

#vključi int main (void) (int x = 12; če (! (! (x% 3 == 0) &&! (x% 2 == 0))) printf ("kratno \ n"); drugače printf ("ne kratno \ n "); vrni 0;)

Verjamem, da ti je uspelo! Če ni šlo, ne skrbite – še bo čas za vadbo.

No, zdaj pa se pogovorimo o niansah - kot običajno so na voljo.

Vsaka veja pogojnega operaterja lahko vsebuje samo EN operator.

Tukaj je primer.

Seznam 5.

#vključi < 0) printf("x = %d\n", x); x = (-1)*x; printf("%d\n", x); return 0; }

Zdi se, da bi program moral delovati tako. Uporabnik vnese celo število. Če je število manjše od nič, potem njegov predznak spremenimo v nasprotno. Sicer ne naredimo nič. Po tem prikažemo številko na zaslonu konzole.

Zdaj bodite pozorni na zaslon.


Slika 2 Rezultat programa Listing 11

Ampak obstaja rešitev! In ta rešitev je - sestavljeni operater ()... Če v kodraste oklepaje zapremo več stavkov, bodo obravnavani kot en sam stavek. Zato, da bi program deloval pravilno, mu dodamo sestavljeni operator:

Seznam 6.

#vključi int main (void) (int x = 0; scanf ("% d", & x); if (x< 0){ printf("x = %d\n", x); x = (-1)*x; } printf("%d\n", x); return 0; }

No, zdaj je vse tako kot mora biti. Preverite sami. Mimogrede, iz izkušenj. Močno vam svetujem, da vedno uporabljate kodraste oklepaje, tudi če je v njih en operater. Zelo pogosto se s tem izognemo neumnim napakam.

V kontrolni konstrukciji if-else je mogoče uporabiti katero koli jezikovno konstrukcijo, vključno z še eno konstrukcijo if-else.

Na primer:

Seznam 7.

#vključi int main (void) (int x = 0; scanf ("% d", & x); if (x< 0) { printf("Negative!\n"); } else { if (x == 0){ printf("Zero!\n"); } else { printf("Positive!\n"); } } return 0; }

Mislim, da je jasno, da lahko z uporabo ugnezdenih pogojnih stavkov naredite konstrukcijo, podobno stavku za izbiro stikala.

Uporaba ugnezdenih pogojnikov uvaja še eno posebnost.

else se vedno nanaša na najbližje, če ta nima svojega drugega

Na primer:

Seznam 8.

Če (n> 0), če (a> b) z = a; drugače z = b;

Po našem pravilu se else nanaša na notranje (drugo) if. Če se želimo drugače sklicevati na zunanji (prvi) if, potem lahko uporabimo sestavljeni operator.

Seznam 9.

Če (n> 0) (če (a> b) z = a;) drugače z = b;

Kot sem že omenil, je najbolje, da vedno uporabite kodraste oklepaje, da se izognete napačni razlagi zapisa. Takšne napake v programih je zelo težko iskati. Bodite pozorni tudi na vdolbino. Uporabljam jih, da je iz kode takoj jasno, katera veja pripada kateri if.

Lekcija bo obravnavala pogojne stavke php: stavek if in stavek switch

Pogojni stavki php so predstavljeni s tremi glavnimi konstrukcijami:

  • operater pogoja če,
  • operater stikala stikalo
  • in ternarni operater.

Oglejmo si vsakega od njih podrobneje.

PHP stavek if

Slika 3.1. Pogojni stavek IF, skrajšana različica


riž. 3.2. Sintaksa pogojnega stavka IF ELSE


riž. 3.3. Popolna sintaksa za pogojni stavek IF elseif

Naj povzamemo:

Celotna sintaksa je:

if (pogoj) (// če je pogoj resničen operator1; operator2;) elseif (pogoj) (operator1; ...) else (// če je pogoj napačen operator1; operator2;)

  • Skrajšana sintaksa lahko ne vsebujejo dela konstrukcije z else in ne vsebujejo dodatnega pogoja elseif
  • Namesto funkcijske besede elseif lahko napišete else if (ločeno)
  • V enem stavku if je lahko več elseif. Prvi naleteni izraz elseif, enak TRUE, bo izveden.
  • Če obstaja nadomestni pogoj elseif, mora biti člen else v sintaksi zadnji.

Dvopičje: lahko se uporablja v pogojnem stavku namesto zavitih oklepajev. V tem primeru se operater konča s servisno besedo endif

riž. 3.4. Pogojni stavek If in Endif v php

Primer:

if ($ x> $ y): echo $ x. "večje od". $ y; elseif ($ x == $ y): // pri uporabi ":" ne morete pisati ločeno drugače, če je echo $ x. "enako". $ y; drugače: echo $ x. "ne> in ne =". $ y; endif;

Pomembno:Če uporabljate dvopičje namesto zavitih oklepajev drugače, ne morete pisati z dvema besedama!

Logične operacije v stanju

V členu if v oklepaju so lahko prisotne naslednje operacije:

Primer: preverite vrednost številske spremenljivke: če je manjša ali enaka 10, prikaže sporočilo "Število manjše ali enako 10", v nasprotnem primeru izda sporočilo "Število je večje od 10"


rešitev:

$ številka = 15; če (številka $<=10) { echo "число меньше или равно 10"; } else { echo "число больше 10"; }

Bloke php kode je mogoče zlomiti, upoštevajte primer:

Primer: Prikaži html kodo "A je enako 4"če je spremenljivka $ a res 4


1 rešitev:
1 2 3 4

2 Rešitev:

1 2 3 A je enako 4

A je enako 4

PHP opravilo 3_1: Prikaži prevod barv iz v angleščini v ruščino, preverjanje vrednosti spremenljivke (v kateri je dodeljena barva: $ a = "modra")


PHP opravilo 3_2: Poiščite največ tri števila

Primerjalne operacije in pravilo laži

V stavku if mora biti v oklepaju logični izraz ali spremenljivka, ki se obravnava z vidika logične algebre in vrne vrednosti, bodisi resnične bodisi napačne

tiste. eno samo spremenljivko lahko uporabimo kot pogoj. Poglejmo primer:

1 2 3 4 $ a = 1; če ($ a) (odmev $ a;)

$ a = 1; če ($ a) (odmev $ a;)

V primeru prevajalec php jezik bo upošteval spremenljivko v oklepajih za pravilo laži:

Pravilo LAŽI ali kar se šteje za napačno:

  • logično Napačno
  • celo število nič ( 0 )
  • veljavna nič ( 0.0 )
  • prazna vrstica in črto «0»
  • niz brez elementov
  • objekt brez spremenljivk
  • posebna vrsta NIČ

Tako je v obravnavanem primeru spremenljivka $ a enaka eni, pogoj bo resničen in operator echo $ a; bo prikazal vrednost spremenljivke.

PHP opravilo 3_3: podana spremenljivka a z vrednostjo niza. Če je a enako imenu, potem izpiši "Pozdravljeno ime!", če je a enako prazni vrednosti, nato izpis "Živjo neznanec!"

Logične konstrukcije IN ALI in NE v pogojnem operaterju

  1. Včasih je treba zagotoviti izpolnjevanje več pogojev hkrati. Potem se pogoji združijo logični operater IN — && :
  2. $ a = 1; če ($ a> 0 || $ a> 1) (odmeva "a> 0 ali a> 1";)

  3. Če želite označiti, da je pogoj napačen, uporabite logični operator NE — ! :
  4. 1 2 3 4 $ a = 1; če (! ($ a< 0 ) ) { echo "a не < 0" ; }

    $ a = 1; če (! ($ a<0)) { echo "a не < 0"; }

Preklopni stavek PHP

Stavek switch ali "switch" nadomesti več zaporednih stavkov if. Pri tem primerja eno spremenljivko z nizom vrednosti. Zato je najbolj priročno zdravilo. za organizacijo več podružnic.

sintaksa:

1 2 3 4 5 6 7 8 9 10 stikalo (spremenljivka $) (primer "value1": stavek1; prelom; primer "value2": stavek2; prelom; primer "value3": stavek3; break; [privzeto: stavek4; break;])

stikalo (spremenljivka $) (primer "value1": stavek1; prelom; primer "value2": stavek2; prelom; primer "value3": stavek3; break;)

  • Operater lahko preveri tako vrednosti niza (v tem primeru so navedene v narekovajih) kot tudi številske (brez narekovajev).
  • Izjava o prelomu v konstrukciji je potrebna. Konstrukcijo zapusti, če je pogoj resničen in se izvede operator, ki ustreza pogoju. Neprekinjeno se izvajajo vse izjave o primerih, ne glede na njihovo resnico.

riž. 3.5. Stavek pogojnega preklopa


Primer: podan je niz s polnimi moškimi imeni. Preverite prvi element matrike in, odvisno od imena, izdajte pozdrav s kratkim imenom.


rešitev:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 $ names = array ("Ivan", "Peter", "Semyon"); stikalo ($ names [0]) (case "Peter": echo "Zdravo, Petya!"; prekinitev; case "Ivan": echo "Zdravo, Vanja!"; prekinitev; primer "Semyon": echo "Zdravo, Vanja! "; break; privzeto: echo" Pozdravljeni, $ imena!"; zlom; )

$ names = array ("Ivan", "Peter", "Semyon"); stikalo ($ imena) (velikost "Peter": echo "Zdravo, Petya!"; prekinitev; primer "Ivan": echo "Zdravo, Vanja!"; prelom; primer "Semyon": odmev "Zdravo, Vanja!"; prekinitev ; privzeto: echo "Pozdravljeni, $ names!"; break;)

PHP opravilo 3_4:

  • Ustvarite spremenljivko $ day in ji dodelite poljubno številsko vrednost
  • Za izpis fraze uporabite stavek switch "To je delovni dan"če je vrednost spremenljivke $ dan v območju številk od 1 do 5 (vključno)
  • Izpišite besedno zvezo "Prost dan je"če je vrednost spremenljivke $ dan 6 ali 7
  • Izpišite besedno zvezo "Neznan dan"če vrednost spremenljivke $ day ni v območju številk od 1 do 7 (vključno)

Izpolnite kodo:

1 2 3 4 5 6 7 8 9 10 11 12 ... stikalo (...) (primer 1: primer 2: ... odmev "To je delovni dan"; zlom; primer 6: ... privzeto: ...)

Stikalo (...) (primer 1: primer 2: ... odmev "To je delovni dan"; odmor; primer 6: ... privzeto: ...)

PHP ternarni operater

Ternarni operater, tj. s tremi operandi, ima dokaj preprosto sintakso, v kateri je levo od? pogoj je napisan, na desni pa dva operaterja, ločena z znakom:, levo od predznaka se izvaja operator, če je pogoj resničen, in desno od predznaka: operator se izvede, če je pogoj napačno.

stanje? operater1: operater2;

12.09.2017

Ne še


Pozdravljeni vsi skupaj!
Še naprej se učimo osnov PHP iz nič!
V tej vadnici vam bom povedal o pogoj če drugače... Dobesedno if pomeni "če", in else pomeni "sicer". Sama konstrukcija if else pomaga preveriti podatke in prikazati rezultat (prikaži sporočila, izvesti kakšen ukaz, preusmeriti uporabnika na skrivno stran ali ga spustiti v skrbniško ploščo). Da se naučite pravilno napisati pogoje in razumeti konstrukcijo if else, vam bom dal primer iz resničnega življenja, ki je zelo podoben konstrukciji if else.
Svojim možganom daš ukaz: takoj, ko se oglasi alarm (6:00), moram vstati, umiti obraz, umiti zobe, se obleči in galopirati v službo. Če alarm ne zazvoni ob 6:00, potem lahko spite, saj vam ni treba teči v službo.
Ste opazili izjavo if else? Predpogoj bo nastavljen čas alarma "6:00". Če zazvoni budilka, potem vstanemo in tečemo v službo, če ne zvoni (sicer pa še vedno lažejo), potem spimo naprej.
Lahko ustvarite veliko takšnih primerov iz življenja, na primer: če dežuje, potem sedim doma, če ni dežja, potem vzamem žogo in grem igrat nogomet.
Torej, kako lahko napišite konstrukcijo if else? Zelo preprosto.
Pojdimo korak za korakom in začnimo s preprostim pogojem – stavkom if.

Za boljše razumevanje sem narisal diagram stavka if v obliki slike:

Zdaj pa poskusimo pretvoriti življenjski primer, ki sem ga dal zgoraj, v php kodo.

Če shranite datoteko php s to kodo in jo odprete prek lokalnega strežnika (glejte), bo rezultat:

⇒ Razlaga kode:
V pogoju sem primerjal spremenljivko $ weather z vrednostjo "dež" (vrstica #3). V človeškem smislu ta koda zveni takole: če je spremenljivka $ vreme enaka vrednosti "dež", morate prikazati besedilo " sedim doma". Mimogrede, naj vas spomnim (če ste malo pozabili), da je znak enakosti označen z dvojnim znakom enakosti, kot je ta (==). Če vpišete drugo vrednost v vremensko spremenljivko $ (vrstica številka 2 ), na primer sneg, potem bo brskalnik izpraznil stran, ker pogoji niso bili izpolnjeni.

→ KODA VZORCA "KONSTRUKCIJA če":

→ goljufija:

Enakost: ==
Primer: če ($ a == $ b)

Ne enakost:! =
Primer: če ($ a! = $ B)

Več:>
Primer: če ($ a> $ b)

manj:<
Primer: če ($ a< $b)

Večje ali enako:> =
Primer: če ($ a> = $ b)

Manj ali enako:<=
Primer: če ($ a<= $b)

Logično "in": in
Primer: če ($ a == $ b in $ c! = $ D)

Logično "ali": ali, ||
Primer: če ($ a == $ b || $ c! = $ D)

Zdaj bomo poskušali prikazati sporočilo, če pogoji niso bili izpolnjeni, in sicer če dežuje, sedim doma, če ne dežuje, vzamem žogo in grem igrat nogomet. Za boljše razumevanje si oglejmo spodnjo sliko:

Zdaj bomo vezje prevedli v pravo kodo:

rezultat:

Vzamem žogo in grem igrat nogomet

⇒ Razlaga kode:
V pogoju sem primerjal vremensko spremenljivko $ z vrednostjo "dež" (vrstica št. 3), ker pa sem vremenski spremenljivki $ pripisal vrednost "sonce" (vrstica št. 2), pogoj ni bil izpolnjen ( vrednosti niso enake), kar pomeni, da bo drugi del kode (drugo) deloval:

Drugače (odmev "Vzamem žogo in grem igrati nogomet"; // rezultat, če pogoj ni resničen)

→ KODA-VZOREC "KONSTRUKCIJA if-else":

Dvojni pogoj če-drugo

Prehod na bolj zapleteno - dvojni pogoj če-drugo.
Uporabimo primer za ustvarjanje gesla in preverjanja prijave.

Cilj:
Ustvarite pogoj za preverjanje prijave in gesla. Če se geslo ali prijava ne ujemata, se prikaže sporočilo o napaki.

Začnimo.
Najprej ustvarimo dve spremenljivki $ logo in $ geslo z ustreznimi vrednostmi:

Upoštevajte, da smo v stavku dve spremenljivki ločili z operatorjem "AND". To pomeni, da morata biti dve spremenljivki pravilni, da je pogoj izpolnjen, a ker se naš pogoj ne ujema z geslom (ponovnik #4), to pomeni, da je pogoj napačen in na zaslonu boste videli naslednje sporočilo:

Prijava ali geslo ni pravilno

Če spremenite vrednost spremenljivke gesla $ na "123" (vrstica # 3), bodo pogoji v celoti izpolnjeni (vrstica # 4):

rezultat:

dobrodošli na skrbniški plošči

Ugnezdene konstrukcije if-else

Ugnezdena konstrukcija- to je, ko je znotraj strukture druga struktura. Ni čisto jasno razloženo? Ni važno, vse boste razumeli z zgledom.

Cilj:
Ustvarite pogoj za preverjanje prijave in gesla. Če se geslo ali prijava ne ujemata, prikažite sporočilo o napaki, če se ujemata, nato preverite skrivno besedo, če se skrivna beseda ne ujema, prikažite sporočilo o napaki, če se ujema, nato prikažite sporočilo " dobrodošli na skrbniški plošči ".

Začnimo:

Najprej ustvarimo tri spremenljivke, $ logo, $ geslo in $ x z ustreznimi vrednostmi:

Zdaj pa ustvarimo dvojni pogoj za testiranje spremenljivk logotipa $ in gesla $:

Zdaj pod komentar " // bo še en pogoj s skrivno besedo "(vrstica številka 7) napiši še eno konstrukt if-else s pogojem preverjanja spremenljivke $ x:

Ker skrivna beseda ni pravilna (številka vrstice 8), se na zaslonu prikaže sporočilo:

skrivna beseda je napačna

Če zamenjate vrednost spremenljivke $ x z "BlogGOOD", je tudi tajna beseda resnična:

Ker sta prijava in geslo pravilna, kar pomeni, da je bil pogoj izpolnjen, je deloval prvi del kode, kjer je bilo treba preveriti skrivno besedo. Ker je skrivna beseda pravilna s pogojem, boste na zaslonu videli sporočilo:

dobrodošli na skrbniški plošči

→ KODA VZORCA "GNEZDENA KONSTRUKCIJA če-else":

Izjava pogoja Elseif

Elseif konstrukcija je kombinacija stavkov if in else, ki vam bo pomagala preveriti več pogojev zapored.

sintaksa:

Upoštevajte, da sta v vrsticah #6 in #10 dve besedi posebej napisani skupaj "elseif", če ju ločite s presledkom "else if", bo koda ustvarila napako.

Podajmo delujočo kodo z izborom programskih vadnic.

rezultat:

Naročili ste vadnico PHP

Način elseif lahko zapišemo na enak način ugnezdena konstrukcija if else:

Rezultat je enak, vendar se je lažje zmotiti (2-krat sem se zmedel v svoji lastni kodi).

Dodatek k lekciji (še ni treba vedeti):

Obstaja več možnosti, kako lahko napišete if else ( alternativno sintakso).
Pripravila bom celo lekcijo o alternativni sintaksi, kjer bom vse razložila in pokazala. Za zdaj si samo poglej čez oči.
Koda št. 1:

Spremenljivka "$ a" vsebuje vrednost 15

Domača naloga:
Poskusite nadomestiti neenakost (! =) namesto enakosti (==) v pogoju ali poskusite z znaki, večjimi od manj:

in tudi zamenjaj operator "AND" z "ALI".

Vsi, čakam vas v naslednjih urah! Naročite se na posodobitve bloga!

Prejšnja objava
Naslednja objava

(PHP 4, PHP 5, PHP 7)

drugače, kot že ime pove, je kombinacija če in drugo... Všeč mi je drugo, razširi an če stavek za izvedbo drugega stavka v primeru izvirnika če izraz oceni na LAŽNO... Vendar za razliko od drugo, bo ta alternativni izraz izvedel samo, če je drugače pogojni izraz oceni na PRAV... Naslednja koda bi na primer prikazala a je večje od b, a enako b ali a je manjše od b:

če ($ a> $ b) (
odmev "a je večji od b";
) drugače ($ a == $ b) (
echo "a je enako b";
) drugo (
odmev "a je manjši od b";
}
?>

Lahko jih je več drugače s znotraj istega če izjava. Prvi drugače izraz (če obstaja), ki ocenjuje na PRAV bi bila izvršena. V PHP lahko napišete tudi "else if" (z dvema besedama) in vedenje bi bilo identično vedenju "elseif" (z eno besedo). Skladenjski pomen je nekoliko drugačen (če poznate C, je to isto vedenje), a bistvo je, da bi oba povzročila popolnoma enako vedenje.

The drugače stavek se izvede samo, če je prejšnji če izraz in vse predhodne drugače izrazi, ocenjeni na LAŽNO, in tok drugače izraz ocenjen na PRAV.

Opomba: Upoštevajte, da drugače in drugače če bo veljalo za popolnoma enako samo pri uporabi kodrastih oklepajev kot v zgornjem primeru. Ko uporabljate dvopičje za opredelitev vašega če/drugače pogojev, se ne smete ločiti drugače če v dve besedi, sicer PHP ne bo uspel zaradi napake pri razčlenjevanju.

/ * Nepravilna metoda: * /
če ($ a> $ b):
drugače if ($ a == $ b): // Ne bo preveden.
odmev "Zgornja vrstica povzroča napako pri razčlenjevanju.";
endif;

/ * Pravilna metoda: * /
če ($ a> $ b):
odmev $ a. "je večji od". $ b;
drugače ($ a == $ b): // Upoštevajte kombinacijo besed.
odmev $ a. enaka. $ b;
drugo:
odmev $ a. "ni niti večje niti enako"... $ b;
endif;