Pogojniki v PHP. Pogojni stavek if v PHP Elseif else primer dveh vrstic

Nekateri viri pravijo, da je izbirni stavek if else samostojen stavek. Vendar to ni res, if else je le oblika pisanja izbirnega stavka if. Stavek if else omogoča programerju, da definira dejanje, ko je pogoj resničen, in alternativno dejanje, ko je pogoj napačen. Če vam je dovoljeno, da določite dejanje, če je pogoj resničen.

Sintaksa za pisanje izbirnega stavka if else je:

If (/*pogoj za preverjanje*/) ( /*telo izbirnega operatorja 1*/; ) else ( /*telo izbirnega operatorja 2*/; )

Takole se glasi: »Če je pogoj, ki se testira, resničen, potem izberite telo izjave 1, sicer (to je, da je pogoj, ki se testira, napačen) izpolnjen izberite telo izjave 2". Bodite pozorni na to, kako je zapisan stavek if else. Beseda else je posebej pomaknjena v desno, tako da je programska koda jasna in priročna za branje.

Oglejmo si težavo iz prejšnje teme z uporabo if else . Naj vas spomnim na pogoj problema: "Dani sta dve številki, ju morate primerjati."

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

Ta koda nas zanimavrstice 14-20. Te vrstice se glasijo takole: če a (prva številka) večja ali enaka b (druga številka), nato pa izvedite izhodni stavek vvrstica 16

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

sicer izvedite izhodni stavek v vrstica 19

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

V tem primeru uporabljamo relacijske operatorje >= in<= . Условие перехода не совсем правильно, так как условие будет ложно только в том случае, если первое число будет меньше второго, во всех остальных случаях условие истинно. Значит, vrstica 19 moraš napisati takole

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

In tako je program deloval (glej sliko 1).

Vvedite pervoe chislo: 15 Vvedite vtoroe chislo: -4 15 >= -4 Za nadaljevanje pritisnite katero koli tipko. . .

Slika 1 – Izbirni stavek if else

Naj vam pokažem še en primer uporabe izbirnih stavkov if else (tako imenovani ugnezdeni stavki 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: Določa vstopno točko za konzolno aplikacijo. #include "stdafx.h" #include uporaba imenskega prostora std; int main(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 je v območju od 0 (vključno z 0) do 30;
3. primer: x je večji ali enak 30.

Opazite inovacijo!! IN 17. vrstica tak vnos: if ((x >= 0) && (x< 30)) , Uporabil sem simbole && - to je . Logično delovanje IN&& je potreben za združevanje več preprostih pogojev v en sestavljen pogoj. 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 vrstice 12, pogoji so preverjeni. Takole se glasi: »Če x (v našem primeru 31)< 0, то выполнить оператор в vrstica 14" Ker pa je 31 > 0 pogoj napačen, preidemo na besedo else (sicer) vrstica 15. Nato preverimo, ali je številka 31 vključena v navedeni interval. Takole se glasi: če je x>=0 in x<30nato izvedite stavek v vrstici 19 . Ker pa število 31 ni vključeno v podani interval, je pogoj napačen. Podrobnosti vrstica 17: program bo najprej preveril prvi preprosti pogoj x >= 0 - je resničen, in če je prvi resničen, bo program nadaljeval s preverjanjem drugega enostavnega pogoja x< 30 – оно ложно. Следовательно всё составное условие ложно, ведь в составном условии у нас используется логическая операция && , а это значит, что все составное условие истинно только в том случае, когда истинны оба простых условия. Переходим к else (иначе), здесь у нас последний if , (vrstica 22). Test je x >= 30. Takole se glasi: Če je x >= 30, potem izvedite stavek v vrstici 24 . Končno je pogoj resničen, zato je izjava v vrstica 24. IN vrstica 28 natisne dobljeno vrednost. No, to je to, program smo pogledali do najmanjše podrobnosti. Rezultat programa, če je uporabnik vnesel številko 31 (glej sliko 2)

Začasno ustavite AdBlock na tem spletnem mestu.

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

Predloga izjave if -- else

Tukaj sta dve glavni možnosti:

Seznam 1.

// prva možnost if (pogojni_izraz) operator_1; // druga možnost if (pogojni_izraz) operator_1; sicer operator_2;

No, in slike, seveda. Kje bi bili brez slik?

Slika 1 Blokovni diagrami stavka if-else.

Ta operater deluje takole. Izračuna se vrednost pogojnega izraza. Če je rezultat resničen, se izvede operator_1 iz glavne veje, in če je false, se ne zgodi nič (v prvi možnosti) ali pa se izvede operator_2 iz stranske veje (v drugi možnosti).

Predlagam, da to takoj razumete s primeri. Na primer, kaj mislite, da bo izpisala naslednja koda? Preverite svoje ugibanje.

Seznam 2.

#vključi int main(void) ( if (1) printf("TRUE!\n"); else printf("FALSE!\n"); return 0; )

No, ja, tako je, izpisalo bo TRUE! . Pogoj je resničen. Niste pozabili, da je ena resnica, kajne? Zdaj ti bom povedal nekaj groznega. Vsako število, ki ni nič, je zaznano kot resnično. Preverite sami.

V redu, tukaj je primer. Kaj mislite, kaj bo ta program dal?

Seznam 3.

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

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

Navedimo še en primer, da to podkrepimo. Bodite zelo previdni, vse sem pripravil za vas. Kaj bo torej izpisala ta koda?

Seznam 4.

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

Verjamem, da vam je uspelo! Če ne bo šlo, naj vas ne obupa – še bo čas za vadbo.

No, zdaj pa se pogovorimo o niansah - kot ponavadi so tam.

V vsako vejo pogojnega stavka je lahko zapisan samo EN stavek.

Poglejte si 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 številka manjša od nič, spremenite predznak v nasprotni. Sicer ne naredimo nič. Po tem prikažemo številko na zaslonu konzole.

Zdaj usmerite pozornost na zaslon.


Slika 2 Rezultat programa Listing 11

Vendar obstaja rešitev! In ta odločitev je sestavljeni operator(). Če v zavite oklepaje zapremo več stavkov, bodo obravnavani kot en sam stavek. Zato mu za pravilno delovanje 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. Toplo vam svetujem, da vedno uporabljate zavite oklepaje, tudi če je v njih le ena izjava. Zelo pogosto vam to omogoča, da se izognete neumnim napakam.

Znotraj kontrolnih konstruktov if-else lahko uporabite kateri koli jezikovni konstrukt, vključno z drugim konstruktom if-else.

Takole 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 konstrukt, podoben stavku za izbiro preklopa.

Uporaba ugnezdenih pogojnih stavkov uvaja še eno funkcijo.

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

Na primer:

Seznam 8.

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

Po našem pravilu se else nanaša na notranji (sekundni) if . Če želimo, da se else uporabi za zunanji (prvi) if, potem lahko uporabimo sestavljeni operator.

Seznam 9.

If (n > 0) ( if (a > b) z = a; ) else z = b;

Kot sem že omenil, je bolje, da vedno uporabite zavite oklepaje, da se izognete primerom napačne interpretacije vnosa. Takšne napake v programih je zelo težko najti. Pozorni bodite tudi na postavitev alinej. Uporabljam jih tako, da je iz kode takoj razvidno, katera panoga spada v katero če.

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

Pogojni stavki PHP so predstavljeni s tremi glavnimi konstrukcijami:

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

Oglejmo si vsakega od njih podrobneje.

PHP if izjava

Slika 3.1. Pogojni stavek ČE, kratka različica


riž. 3.2. IF ELSE Sintaksa pogojnega stavka


riž. 3.3. Celotna sintaksa pogojnega stavka IF elseif

Naj povzamemo:

Celotna sintaksa:

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

  • Skrajšana sintaksa lahko ne vsebujejo delov klavzule else in ne vsebujejo dodatnega pogoja elseif
  • Namesto funkcijske besede elseif lahko napišete else if (ločeno)
  • V eni konstrukciji if je lahko več elseifov. Izveden bo prvi izraz elseif, ki je enak TRUE.
  • Če obstaja alternativni pogoj elseif, mora biti klavzula else v sintaksi zadnja.

Pogojni stavek lahko uporablja dvopičje: namesto zavitih oklepajev. V tem primeru se izjava konča s pomožno besedo endif

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

primer:

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

Pomembno: Pri uporabi dvopičja namesto zavitih oklepajev v konstrukciji elseif ni mogoče napisati z dvema besedama!

Logične operacije v pogoju

Pogoj if v oklepaju lahko vsebuje naslednje operacije:

primer: preveri vrednost številske spremenljivke: če je manjša ali enaka 10, prikaže sporočilo "število, manjše ali enako 10", sicer prikaže sporočilo "število večje od 10"


rešitev:

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

Bloki kode PHP se lahko pokvarijo, poglejmo primer:

primer: Prikaži html kodo na zaslonu "a je enako 4", če je spremenljivka $a res enaka 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žite prevod barv iz angleščine v ruščino in preverite vrednost spremenljivke (v kateri je barva dodeljena: $a="modra")


php opravilo 3_2: Poišči največ tri številke

Primerjalne operacije in pravilo laži

Konstrukcija if v oklepaju mora vsebovati logični izraz ali spremenljivko, ki je obravnavana z vidika algebre logike in vrača vrednosti true ali false

Tisti. ena sama spremenljivka lahko deluje kot pogoj. Poglejmo primer:

1 2 3 4 $a = 1; if ($a) ( echo $a; )

$a=1; if ($a) ( echo $a; )

V primeru bo prevajalnik jezika PHP štel spremenljivko v oklepaju za pravilo laži:

Pravilo LAŽI ali kaj velja za napačno:

  • logično False
  • cela ničla ( 0 )
  • prava ničla ( 0.0 )
  • prazna vrstica in niz «0»
  • niz brez elementov
  • objekt brez spremenljivk
  • posebna vrsta NIČ

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

php opravilo 3_3: podana je spremenljivka a z vrednostjo niza. Če je a enako imenu, potem natisni "Pozdravljeni, ime!", če je a enako prazni vrednosti, potem izpis "Pozdravljen neznanec!"

Logični konstrukti IN ALI in NE v pogojnem operatorju

  1. Včasih je treba poskrbeti za izpolnjevanje več pogojev hkrati. Nato se pogoji združijo logični operator IN — && :
  2. $a=1; if ($a>0 || $a>1) ( echo "a > 0 ali a > 1"; )

  3. Če želite označiti, ali 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 operater PHP

Operator stikala ali »stikalo« nadomesti več zaporednih konstrukcij if. Pri tem primerja eno spremenljivko z več vrednostmi. Zato je to najbolj priročno sredstvo za organiziranje več poslovalnic.

Sintaksa:

1 2 3 4 5 6 7 8 9 10 stikalo ($spremenljivka) ( case "value1" : operator1 ; break ; case "value2" : operator2 ; break ; case "value3" : operator3 ; break ; [ default : operator4 ; break ; ] )

switch($variable)( case "value1": operator1; break; case "value2": operator2; break; case "value3": operator3; break; )

  • Operater lahko preveri tako vrednosti nizov (takrat so podane v narekovajih) kot številske vrednosti (brez narekovajev).
  • Zahtevan je stavek break v konstrukciji. Konstrukt zapusti, če je pogoj resničen in se izvede operator, ki ustreza pogoju. Brez prekinitve bodo vsi stavki primerov izvedeni ne glede na njihovo resničnost.

riž. 3.5. Stavek pogojnega preklopa


primer: podan je niz s polnimi moškimi imeni. Preverite prvi element matrike in glede na ime prikažite 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!" ; break ; case "Ivan" : echo "Zdravo, Vanja!" ; break ; case "Semyon" : echo "Zdravo, Vanja! " ; break ; default : echo "Živjo, $imena!"; odmor ; )

$names=array("Ivan","Peter","Semyon"); switch($names)( case "Peter": echo "Zdravo, Petya!"; break; case "Ivan": echo "Zdravo, Vanja!"; break; case "Semyon": echo "Zdravo, Vanja!"; break ; privzeto: echo "Pozdravljeni, $names!"; break; )

php opravilo 3_4:

  • Ustvarite spremenljivko $day in ji dodelite poljubno številsko vrednost
  • S pomočjo konstrukcije switch natisnite frazo "Delovni dan je", če je vrednost spremenljivke $day znotraj obsega števil od 1 do 5 (vključno)
  • Natisnite frazo "Prost dan je", če je vrednost spremenljivke $day enaka številki 6 ali 7
  • Natisnite frazo "Neznan dan", če vrednost spremenljivke $day ne spada v obseg števil 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 "Delovni dan je"; odmor ; primer 6: ... privzeto: ...)

Switch(...)( case 1: case 2: ... echo "To je delovni dan"; break; case 6: ... default: ... )

PHP ternarni operater

Ternarni operater, tj. s tremi operandi, ima dokaj preprosto sintakso, v kateri je levo od ? je zapisan pogoj, desno pa sta dva operatorja, ločena z znakom: , levo od znaka se operator izvede, če je pogoj izpolnjen, desno od znaka: operator se izvede, če je pogoj izpolnjen lažno.

stanje? operater1 : operater2 ;

Kot drugi programski jeziki ima PHP izbirne stavke. Skupaj obstajajo tri vrste:

  • pogojni stavek if... else ;
  • stikalo stikalo ;
  • pogojno delovanje (? );

Omeniti velja, da v PHP ni brezpogojnega skoka na oznako goto, kljub temu pa je ključna beseda goto rezervirana.

V tej lekciji si bomo ogledali stavek if...else in pogojne operacije, naslednja lekcija pa bo obravnavala stikalo switch.

Sintaksa if...else je enaka kot v C:

//če pogoji veljajo, potem pridemo sem operater1; //v primeru enega operaterja, operater2; ... ) drugače // neobvezno {//če je pogoji false, gremo sem operater3; //v primeru enega operaterja, operater4; //zavit oklepaj ni obvezen ... } ?>

Opombe:

  • else ni obvezen del, vendar se najpogosteje uporablja, ker Logika to zahteva.
  • Kot je navedeno v komentarjih kode, zavit oklepaj () ni potreben, če imamo samo en stavek. Ker je pogoj lahko resničen (1) ali napačen (0), bodo izvedeni operator1, operator2 itd. ali operator3, operator4 itd.

Tukaj je konkreten primer v PHP:

//Nastavite vrednosti spremenljivk$num1 = 10; $num2 = 7; če ($num1 > $num2) ( //pogoj je resničen, kar pomeni, da smo tukaj echo "Pogoj je resničen, ker je 10 > 7
"; $num1+=$num2; // dodaj spremenljivko $num2 v $num1; echo "\$num1 = ". $num1; // rezultat bo 17) else echo "Ker je pogoj pozitiven, ne pridemo sem"; // Obstaja samo en stavek else, zato ni zavitih oklepajev ?>

Tu je primer, v katerem je klavzula else izpuščena in je pogoj sestavljen iz dveh pogojev:

6) odmev "Pogoji so resnični"; //Še en primer: if ($num1 == 10 || $num2 >= 100) echo "Pogoji so resnični"; //V vseh primerih so pogoji resnični ?>

Ugnezdeni če pogoji

Kot v jeziku C tudi PHP omogoča uporabo ugnezdenih pogojev:

//če sta uslovie1 in uslovie2 resnična, potem pridemo sem) drugače ( //če je pogoji1 resničen in uslovie2 napačen, potem pridemo sem) drugače ( //če sta uslovie1 in uslovie2 napačna, potem pridemo sem } ?>

V if lahko napišete kolikor želite gnezdenja if, vendar so takšne konstrukcije zelo zapletene, zato jih bo težko razumeti pri odpravljanju napak v programu. Tukaj je primer z ugnezdenimi stavki if:

// rezultat tega skripta bo sporočilo: // $flag1 je res in $flag2 je false ?>

Ugnezdeni pogoji z uporabo if...elseif...else

PHP ima možnost ugnezditi pogojne stavke z uporabo sheme: if...elseif...else. To je veliko bolj priročno, kot da na začetku ustvarite nabor pogojev in jim nato dodate nabor else. Sintaksa konstrukta if...elseif...else je naslednja:

V takšni konstrukciji lahko else zapišemo le enkrat, elseif pa lahko zapišemo kolikorkrat želimo. Prav tako se šteje, da je zgornja zasnova slabša od stikalnega stikala.

Uporaba operatorja endif

Skoraj vsak motor, ustvarjen v PHP, uporablja operator endif. Konstrukcija tega operaterja je prikazana spodaj:

... html oznake in vsebina; ... ... html oznake in vsebina; ...

Vredno je biti pozoren na priročnost te zasnove, kot če vso vsebino izpišemo prek odmeva. Za pogojem ne pozabite postaviti dvopičja!

Uporaba pogojnih operatorjev (?)

Uporaba pogojnih operatorjev ni običajen pristop ne le v PHP, ampak tudi v drugih podobnih jezikih, vendar jih ne smemo pozabiti. Sintaksa pogojne operacije je naslednja:

Najprej pride nekaj pogojev. Če je res, se izvede operator_1, sicer pa se izvede operator_2. Mislim, da konstrukcija ni zelo jasna, zato je vredno navesti nekaj primerov PHP za razjasnitev. Na primer, z uporabo pogojnega operatorja lahko preprosto implementirate modul števila:

Pogojne operacije so lahko koristne za uporabo v nekaterih kratkih izrazih, kjer morate spremeniti vrednost samo ene spremenljivke glede na pogoj.

12.09.2017

Ne še


Pozdravljeni vsi skupaj!
Nadaljujmo z učenjem osnov PHP iz nič!
V tej lekciji vam bom povedal o pogojni stavek if else. Dobesedno prevedeno if pomeni »če«, else pa »sicer«. Sama konstrukcija if else pomaga preveriti podatke in prikazati rezultat (prikazati sporočila, izvesti kakšen ukaz, preusmeriti uporabnika na skrivno stran ali ga pustiti v skrbniško ploščo). Da bi se naučili pravilno pisati pogoje in razumeti konstrukt if else, bom podal primer iz resničnega življenja, ki je zelo podoben konstruktu if else.
Svojim možganom daš ukaz: takoj ko zazvoni budilka (6:00), moram vstati, si umiti obraz, umiti zobe, se obleči in odgalopirati v službo. Če budilka ne zvoni ob 6.00, potem lahko spite, saj vam ni treba teči v službo.
Ste opazili konstrukcijo if else? Pogoj bo nastavljena ura alarma “6:00”. Če zazvoni budilka, potem vstanemo in tečemo v službo, če ne zazvoni (sicer še vedno lažejo), potem nadaljujemo s spanjem.
Takih življenjskih primerov je veliko, na primer: če dežuje, potem sedim doma, če ne dežuje, 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 strukturni diagram if upodobil kot sliko:

Zdaj pa poskusimo preoblikovati primer iz resničnega življenja, ki sem ga navedel zgoraj, v kodo php.

Č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 jeziku je ta koda videti takole: če je spremenljivka $weather enaka vrednosti "dež", potem morate natisniti besedilo " Sedim doma". Mimogrede, naj vas spomnim (če ste pozabili), da je znak enačaja označen z dvojnim znakom enačaja, kot je ta (==). Če zapišete drugo vrednost v spremenljivko $weather (vrstica št. 2) , na primer sneg, potem bo brskalnik prazno stran, ker pogoji niso bili izpolnjeni.

→ KODA PREDLOGE "če GRADNJA":

→ Varalka:

Enakost: ==
Primer: if ($a == $b)

Ne enakost: !=
Primer: if ($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čni "in": in
Primer: če ($a ==$b in $c !=$d)

Logični “ali”: ali , ||
Primer: if ($a ==$b || $c !=$d)

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

Zdaj pa prevedimo diagram v pravo kodo:

rezultat:

Vzamem žogo in grem igrat nogomet

⇒ Razlaga kode:
V pogoju sem primerjal spremenljivko $weather z vrednostjo “rain” (vrstica št. 3), ker pa sem spremenljivki $weather (vrstica št. 2) dodelil vrednost “sun” pogoj ni bil izpolnjen ( vrednosti niso enake), kar pomeni, da bo drugi del kode (sicer) deloval:

Else ( echo "Vzamem žogo in grem igrat nogomet"; //rezultat, če pogoj ni resničen)

→ KODA PREDLOGE "if-else CONSTRUCTION":

Dvojni pogoj če-drugače

Pojdimo na nekaj bolj zapletenega - dvojni pogoj če-drugače.
Uporabimo primer za ustvarjanje gesla in preverjanje 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 $password z ustreznima vrednostma:

Upoštevajte, da smo v pogoju dve spremenljivki ločili z operatorjem "IN". To pomeni, da morata biti dve spremenljivki pravilni, da je pogoj izpolnjen, a ker se geslo v našem pogoju ne ujema (ponor št. 4), to pomeni, da je pogoj napačen in na zaslonu boste videli to sporočilo:

Prijava ali geslo nista pravilna

Če spremenite vrednost spremenljivke $password na "123" (vrstica št. 3), bodo pogoji v celoti izpolnjeni (vrstica št. 4):

rezultat:

dobrodošli na skrbniški plošči

Ugnezdene konstrukcije if-else

Gnezdenje- to je, ko je znotraj strukture druga struktura. Niste čisto jasno razložili? Ni važno, vse boste razumeli s primerom.

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

Začnimo:

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

Zdaj pa ustvarimo dvojni pogoj za preverjanje spremenljivk $logo in $password:

Sedaj pod komentar " // tam bo še en pogoj s skrivno besedo " (vrstica št. 7) napišite še eno konstrukcija if-else s pogojem preverjanja spremenljivke $x:

Ker skrivna beseda ni pravilna (vrstica št. 8), se bo na zaslonu pojavilo sporočilo:

skrivna beseda je napačna

Če zamenjate vrednost $x z "BlogGOOD", bo skrivna beseda resnična:

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

dobrodošli na skrbniški plošči

→ KODA PREDLOGE "UGNEZDENA KONSTRUKCIJA if-else":

pogojni operator elseif

elseif konstrukt je kombinacija konstruktov if in else, ki bo pomagal preveriti več pogojev zaporedoma.

Sintaksa:

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

Naj vam pokažem delujočo kodo z izborom programskih učbenikov.

rezultat:

Naročili ste vadnico za PHP

Metodo elseif lahko zapišemo tudi kot ugnezdena konstrukcija if else:

Rezultat je enak, vendar se je lažje zmešati (v lastni kodi sem se dvakrat zmedel).

Dodatek k lekciji (še ni potrebno vedeti):

Obstaja več možnosti za pisanje if else ( alternativna sintaksa).
Pripravil bom celo lekcijo o alternativni sintaksi, kjer bom vse razložil in pokazal. Zdaj pa le poglejte.
Koda št. 1:

Spremenljivka "$a" vsebuje vrednost 15

Domača naloga:
Poskusite namesto enakosti (== ) v pogoj vnesti neenakost (!= ) ali poskusite z znaki več kot manj:

in prav tako zamenjajte operator "AND" z "ALI".

To je to, veselim se, da se vidimo v naslednjih učnih urah! Naročite se na posodobitve spletnega dnevnika!

Prejšnja objava
Naslednji vnos



Deliti