Internet Windows Android
Kengaytirish

Php switch bayonotining qiymat ifodasi. Php shartli iboralar if, switch va uchlamchi bayon

Vaziyat va tanlov - tilning asosiy tuzilmalari. To'g'ri qaror qabul qilish-bu yuqori sifatli algoritm va aniq, tushunarli kodning asosi. Algoritmning to'g'ri tuzilishi va izohlarning to'g'ri ishlatilishi barqarorlik va ishonchlilik omillaridandir.

Zamonaviy dasturlash hali ham qat'iylikdan xoli emas. Yozilgandan so'ng, kod o'zgaruvchan muammolarga faqat vakolatli odam yordamida moslasha oladi. Shunga qaramay, kodni ko'chirish darajasi uning muallifining mahorat darajasiga qarab belgilanadi.

Tanlov tuzilishi sintaksisi

PHP kommutatorini tanlash konstruktsiyasini yozish juda oson, to'g'ri bajarilgan va amalda qulay. Misol matnni bezatuvchi funktsiyani taklif qiladi HTML teglar... Agar birinchi parametr "qalin" yoki "kursiv" ni o'z ichiga olsa, funktsiya natijasi ikkinchi parametrni "kuchli" yoki "i" teglari bilan o'rab oladi.

Brauzerdagi natija ikkinchi parametrning tarkibini qalin yoki kursiv bilan ko'rsatadi. Birinchi parametr uchun boshqa har qanday qiymat rang sifatida talqin qilinadi va ikkinchi parametrni "shrift" yorlig'i bilan o'rab oladi.

Bu funksiya boshlang'ich parametrlarning to'g'riligini tekshirmaydi va faqat parametrlarning ruxsat etilgan chegaralaridan chiqa olmaydigan qismida ishlatilishi mumkin.

Taklif etilgan misolda "break" operatoridan foydalanish ortiqcha, chunki har qanday shart bajarilishi natijasida funksiya "qaytish" operatori tomonidan chiqadi.

PHP konstruktsiyasining tavsifi: korpusni almashtirish

Tekshirilayotgan shart keyin qavs ichida yoziladi kalit so'z"o'tish". Strukturaning asosiy qismi "ish" bo'limlari va "defolt" bayonotlarining bitta blokidan iborat bo'lib, ular faqat "ish" bloklarining hech biri ishlamagan taqdirda bajariladi.

Juda muhim nuance bor. "Case" bayoni bloki ":" belgisidan keyin boshlanadi va "break" ifodasi bilan tugaydi. "Break" iborasi ixtiyoriydir. Aks holda, keyingi "ish" sharti tekshiriladi. Shartlar har doim birinchi uchrashuvgacha tekshiriladi. Tabiiyki, bu erdagi shartlar faqat "==".

Har bir "ish" bo'limi shart bajarilgan taqdirdagina bajariladi, lekin "ish" bo'limida tetiklangan "tanaffus" so'zi bo'lmasa yoki shartlarning hech biri mos kelmasa, "standart" bayonlar bloki har doim bajariladi.

Aslida, PHP-da: ko'p qiymatli kommutator korpusida bir nechta bayonot bloklari mavjud. Rasmiy ravishda sintaksisga rioya qilish uchun har bir bayonot bloki "tanaffus" bilan tugatilishi kerak.

Shart to'g'ri kelganda, tegishli bo'lim bajariladi va agar "tanaffus" bo'lmasa, undan keyingi hamma narsa. Misolda "$ x" o'zgaruvchining qiymati 1 ga teng va "uzilishlar" yo'q, shuning uchun natija "-one - two - default-".

Shartli uyalash

Til ishlab chiqaruvchini joylashtirish darajasini cheklamaydi. Kommutator korpusini joylashtirishga ruxsat beriladi. PHP shuningdek, korpus ichida ishlatilishi mumkin bo'lgan operatorlarni tanlashda dasturchini cheklamaydi.

Bu chiroyli va oson o'qiladigan algoritmlarga imkon beradi. Masalan, CSS qoidalari jadvalini tanib olish kerak. Siz PHP kommutatorini darhol sinflar va identifikatorlarni taniy oladigan qilib qo'yishingiz mumkin, keyin esa qoidalarni tan olasiz. Bu aniq echim, lekin og'ir. Ham sinflar, ham identifikatorlar o'xshash qoidalardan foydalanadilar.

Kommutator korpusi yordamida qoidani tanib olishni amalga oshirish qulayroqdir. PHP -ga qoidani tanib olish funktsiyasini kiritishingiz mumkin. Siz ko'proq borishingiz mumkin. Ko'p qoidalar o'xshash ma'nolarga ruxsat beradi. Shu tarzda o'ylab, teskari jarayonni qurishga harakat qiling: PHP -dagi kommutator funktsiyalar ko'rinishida bajariladi, birinchisi qiymat darajasida, ikkinchisi qoidalar darajasida, uchinchisi esa darajadan chaqiriladi. ma'lum bir sinf yoki identifikator.

Tanlangan maxsus dizayndan foydalanish maqsadga muvofiqdir almashtirish qutisi... Bu qurilish ko'rsatilgan ifodaning qiymatiga qarab harakatlarni tanlash uchun mo'ljallangan. Dizayn almashtirish qutisi qaysidir ma'noda qurilishga o'xshaydi agar-boshqa, bu, aslida, uning hamkasbi. Agar tanlov variantlari ko'p bo'lsa, masalan, 5 tadan ko'p bo'lsa va har bir variant uchun aniq harakatlarni bajarish kerak bo'lsa, tanlov tuzilmasidan foydalanish mumkin. Bunday holda, qurilishdan foydalanish agar-boshqa haqiqatan ham noqulay bo'lib qoladi.

Qurilish sintaksisi almashtirish qutisi shunday:

kalit (ifoda) (

ish qiymati 2: buyruqlar2;
. . .


}

Strukturaning ishlash printsipi almashtirish qutisi shunday:

  1. Ifodaning qiymati hisoblanadi;
  2. Qiymatlar to'plami ko'rib chiqiladi. 1 -qadam birinchi qadamda hisoblangan ifoda qiymatiga teng bo'lsin. Agar strukturaning (operatorning) uzilishi ko'rsatilmagan bo'lsa, u holda i, i + 1, i + 2, ..., N buyruqlari bajariladi. Aks holda (tanaffus mavjud), faqat i raqamli buyruq bajariladi. qatl qilingan.
  3. Agar to'plamdagi qiymatlarning hech biri ifoda qiymatiga mos kelmasa, u holda standart blok bajariladi.

Keling, qurilishni ishlatishga misollar keltiraylik almashtirish qutisi:

$ x = 1;
// if-else dan foydalaning
agar ($ x == 0) (
echo "x = 0
" ;
) elseif ($ x == 1) (
echo "x = 1
" ;
) elseif ($ x == 2) (
echo "x = 2
" ;
}
// Switch-case-dan foydalaning
almashtirish ($ x) (
0 holat:
echo "x = 0
" ;
tanaffus;
1 -holat:
echo "x = 1
" ;
tanaffus;
2 -holat:
echo "x = 2
" ;
tanaffus;
}
?>

Ko'rib chiqilgan skript natijalari x = 1 ikki marta. Qurilishni ishlatishning yana bir misoli almashtirish qutisi:

$ x = "Olma";
almashtirish ($ x) (
"Apple" holati:
echo "Bu Apple";
tanaffus;
"Armut" holati:
echo "Bu nok";
tanaffus;
"tarvuz" holati:
echo "Bu tarvuz";
tanaffus;
}
?>

Ushbu skriptda "Bu Apple" ko'rsatiladi.

Dizayn almashtirish bosqichlarda amalga oshiriladi. Avvaliga hech qanday kod bajarilmaydi. Faqat qurilish paytida ish ifoda qiymatiga mos keladigan qiymat bilan topilgan almashtirish, PHP konstruktsiyalarni bajarishni boshlaydi. PHP blok oxirigacha konstruktsiyalarni bajarishda davom etadi almashtirish operator duch kelguncha tanaffus... Agar siz konstruktsiyalarni ishlatmasangiz (operatorlar) tanaffus, skript shunday bo'ladi:

$ x = 0;
almashtirish ($ x) (
0 holat:
echo "x = 0
" ;
1 -holat:
echo "x = 1
" ;
2 -holat:
echo "x = 2
" ;
}
// uzilishlarni ishlatmasdan
// x = 0
// x = 1
// x = 2
?>

Operatorlar ro'yxati ish bo'sh bo'lishi ham mumkin, u boshqaruvni keyingi qurilishgacha operatorlar ro'yxatiga o'tkazadi ish:

almashtirish ($ x) (
0 holat:
1 -holat:
2 -holat:
aks sado "x 3 dan kam, lekin salbiy emas";
tanaffus;
3 -holat:
echo "x = 3";
}
?>

Agar to'plamdan hech qanday qiymat ifoda qiymatiga mos kelmasa, u holda blok bajariladi standart belgilangan bo'lsa, masalan:

$ x = 3;
almashtirish ($ x) (
0 holat:
echo "x = 0";
tanaffus;
1 -holat:
echo "x = 1";
tanaffus;
2 -holat:
echo "x = 2";
tanaffus;
standart:
aks sado "x 0, 1 yoki 2 emas";
}
?>

Bu skript chiqadi "x 0, 1 yoki 2 emas" o'zgaruvchidan beri $ x = 3.

kalit (ifoda):
holat qiymati1: buyruqlar1;
. . .
holat qiymati N: buyruqlarN;
]
tugatuvchi;

Konstruksiya uchun muqobil sintaksisdan foydalanishning amaliy misoli almashtirish qutisi:

$ x = 3;
kalit ($ x):
0 holat:
echo "x = 0";
tanaffus;
1 -holat:
echo PHP portali forumi. SU

Dars php shartli bayonlarini o'z ichiga oladi: if iborasi va switch iborasi

Php shartli bayonotlari uchta asosiy konstruktsiya bilan ifodalanadi:

  • shart operatori agar,
  • almashtirish operatori almashtirish
  • va uchlik operatori.

Keling, ularning har birini batafsil ko'rib chiqaylik.

PHP ifoda

3.1 -rasm. IF shartli bayonoti, qisqartirilgan versiyasi


Guruch. 3.2. IF ELSE shartli bayon sintaksisi


Guruch. 3.3. IF elseif shartli bayoni uchun to'liq sintaksis

Xulosa qilaylik:

To'liq sintaksis:

if (shart) (// agar shart haqiqiy bo'lsa operator1; operator2;) elseif (shart) (operator1; ...) boshqa (// agar shart noto'g'ri bo'lsa operator1; operator2;)

  • Qisqartirilgan sintaksis bo'lishi mumkin boshqa qismi bilan qurilishning bir qismini o'z ichiga olmaydi va qo'shimcha shartni o'z ichiga olmaydi
  • Elseif funktsiyasi so'zining o'rniga siz boshqasini yozishingiz mumkin, agar (alohida)
  • If ifodasida bir nechta boshqa ifif bo'lishi mumkin. TRUEga teng bo'lgan birinchi ifif ifodasi bajariladi.
  • Agar elseif muqobil sharti mavjud bo'lsa, sintaksisda boshqa band oxirgi o'rinda turishi kerak.

Ikki nuqta: jingalak qavslar o'rniga shartli ifodada ishlatilishi mumkin. Bunday holda, operator endif xizmat so'zi bilan tugaydi

Guruch. 3.4. If va Endif php -da shartli bayon

Misol:

if ($ x> $ y): echo $ x. "katta". $ y; elseif ($ x == $ y): // ":" dan foydalanganda, agar echo $ x. "teng bo'lsa", alohida yozolmaysiz. $ y; boshqa: echo $ x. "not> va not =". $ y; endif;

Muhim: Agar boshqa jingalak qavs o'rniga yo'g'on ichakni ishlatsangiz, ikki so'z bilan yozib bo'lmaydi!

Vaziyatdagi mantiqiy operatsiyalar

Qavs ichidagi if bandida quyidagi amallar bo'lishi mumkin:

Misol: raqamli o'zgaruvchining qiymatini tekshiring: agar u 10 dan kichik yoki teng bo'lsa, - xabar bering "10 dan kichik yoki teng raqam", qarama -qarshi holatda, xabar bering "Raqam 10 dan katta"


Yechim:

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

PHP kod bloklarini buzish mumkin, misolni ko'rib chiqing:

Misol: Html kodini ko'rsatish "A 4 ga teng" agar $ a o'zgaruvchisi haqiqatan ham 4 bo'lsa


1 Qaror:
1 2 3 4

2 Qaror:

1 2 3 A 4 ga teng

A 4 ga teng

Php ishi 3_1: Ranglarning tarjimasini ko'rsatish ingliz tilidan rus tiliga, o'zgaruvchining qiymatini tekshirish (rang berilgan: $ a = "ko'k")


PHP ishi 3_2: Maksimal uchta raqamni toping

Taqqoslash operatsiyalari va yolg'on qoidasi

If ifodasida qavs bo'lishi kerak mantiqiy ifoda yoki mantiq algebrasi nuqtai nazaridan ko'rib chiqiladigan o'zgaruvchi, qiymatlarni haqiqiy yoki noto'g'ri qaytaradi

Bular. shart sifatida bitta o'zgaruvchidan foydalanish mumkin. Keling, bir misolni ko'rib chiqaylik:

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

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

Masalan, php tili tarjimoni yolg'on qoidasi uchun o'zgaruvchini qavs ichida ko'rib chiqadi:

LIE qoidasi yoki noto'g'ri deb hisoblanadigan narsa:

  • mantiqiy Yolg'on
  • nol tamsayı ( 0 )
  • haqiqiy nol ( 0.0 )
  • bo'sh satr va chiziq «0»
  • elementlarsiz qator
  • o'zgaruvchisiz ob'ekt
  • maxsus turi NULL

Shunday qilib, ko'rib chiqilgan misolda $ a o'zgaruvchisi mos ravishda bitta, shart to'g'ri bo'ladi va operator echo $ a; o'zgaruvchining qiymatini ko'rsatadi.

Php ishi 3_3: satr qiymati bo'lgan a o'zgaruvchiga berilgan. Agar a ismga teng bo'lsa, u holda chiqish "Salom ism!", agar a bo'sh qiymatga teng bo'lsa, u holda chiqish "Salom begona!"

Mantiqiy tuzilmalar AND OR OR NOT NOT shartli operatorda

  1. Ba'zida bir vaqtning o'zida bir nechta shartlarning bajarilishini ta'minlash kerak bo'ladi. Keyin shartlar birlashadi AND mantiqiy operatori — && :
  2. $ a = 1; agar ($ a> 0 || $ a> 1) (echo "a> 0 yoki a> 1";)

  3. Shart noto'g'ri ekanligini ko'rsatish uchun foydalaning mantiqiy NOT operatori — ! :
  4. 1 2 3 4 $ a = 1; agar (! ($ a< 0 ) ) { echo "a не < 0" ; }

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

PHP bayonotini almashtirish

Switch iborasi yoki "switch" bir nechta ketma -ket if iboralarini almashtiradi. Bunda u bitta o'zgaruvchini qiymatlar to'plami bilan solishtiradi. Shunday qilib, bu eng qulay vosita. ko'p tarmoqli tashkil qilish uchun.

Sintaksis:

1 2 3 4 5 6 7 8 9 10 switch ($ o'zgaruvchisi) (holat "qiymat1": bayonot1; tanaffus; holat "qiymat2": bayonot2; uzilish; holat "qiymat3": bayonot3; tanaffus; [standart: bayonot4; tanaffus;])

switch ($ o'zgaruvchisi) ("qiymat 1" holati: bayonot1; tanaffus; "qiymat 2" holati: bayonot2; tanaffus; "qiymat 3" holati: bayonot3; tanaffus;)

  • Operator ikkala satr qiymatini (bu holda ular tirnoqlarda ko'rsatilgan) va raqamli (tirnoqsiz) tekshirishi mumkin.
  • Qurilishdagi tanaffus bayonoti talab qilinadi. Agar shart to'g'ri bo'lsa va shartga mos keladigan bayonot bajarilsa, u qurilishdan chiqadi. Tanaffuslarsiz, barcha ish bayonnomalari haqiqatidan qat'i nazar bajariladi.

Guruch. 3.5. Shartli almashtirish bayonoti


Misol: to'liq erkaklik nomlari berilgan massiv berilgan. Massivning birinchi elementini tekshiring va ismiga qarab, qisqa ismli tabriknoma yozing.


Yechim:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 $ nomlari = qator ("Ivan", "Piter", "Semyon"); switch ($ names [0]) ("Piter" holati: echo "Salom, Petya!"; tanaffus; "Ivan" ishi: echo "Salom, Vanya!"; tanaffus; "Semyon" holati: echo "Salom, Vanya! "; break; default: echo" Salom, $ ism! "; tanaffus; )

$ nomlari = qator ("Ivan", "Piter", "Semyon"); switch ($ nomlari) (ish "Piter": echo "Salom, Petya!"; tanaffus; "Ivan" holati: echo "Salom, Vanya!"; tanaffus; "Semyon" holati: echo "Salom, Vanya!"; tanaffus) ; standart: echo "Salom, $ nomlari!"; tanaffus;)

PHP ishi 3_4:

  • $ Day o'zgaruvchisini yarating va unga ixtiyoriy raqamli qiymat bering
  • Ifodani chiqarish uchun switch iborasidan foydalaning "Bu ish kuni" agar $ day o'zgaruvchining qiymati 1 dan 5 gacha (shu jumladan) raqamlar qatoriga kirsa
  • So'zni chiqaring "Bu dam olish kuni" agar $ day o'zgaruvchining qiymati 6 yoki 7 bo'lsa
  • So'zni chiqaring "Noma'lum kun" agar $ day o'zgaruvchining qiymati 1 dan 7 gacha (shu jumladan) sonlar oralig'ida bo'lmasa

Kodni to'ldiring:

1 2 3 4 5 6 7 8 9 10 11 12 ... switch (...) (1 -holat: 2 -holat: ... echo "Bu ish kuni"; tanaffus; 6 -holat: ... standart: ...)

Switch (...) (1 -holat: 2 -holat: ... echo "Bu ish kuni"; tanaffus; 6 -holat: ... standart: ...)

PHP uchlik operatori

Uchinchi operator, ya'ni uchta operandli, juda sodda sintaksisga ega, unda chap tomonda? shart yozilgan va o'ngda - belgisi bilan ajratilgan ikkita operator :, belgining chap tomonida, agar shart to'g'ri bo'lsa, operator bajariladi va belgining o'ng tomonida: operator shart bajarilsa bajariladi. yolg'on

shart? operator1: operator2;

Operator almashtirish xuddi shu shartga ega bo'lgan bir qator IF bayonotlariga o'xshaydi. Ko'p hollarda, siz bir xil o'zgaruvchini (yoki ifodani) har xil qiymatlar bilan taqqoslashingiz va bu o'zgaruvchining (yoki ifodaning) qiymatiga qarab, kodning turli bo'limlarini bajarishingiz kerak bo'lishi mumkin. Bu aynan operator uchun qulay bo'lgan holat almashtirish.

Sharh: E'tibor bering, ba'zi boshqa tillardan farqli o'laroq, Continue iborasi switch konstruktsiyalarida ishlatiladi va shunga o'xshash tanaffus... Agar sizda loop ichida switch iborasi bo'lsa va loopning keyingi iteratsiyasiga o'tishingiz kerak bo'lsa, foydalaning davom ettirish 2.

Sharh:

E'tibor bering, swich / case konstruktsiyasi aniq taqqoslashlardan foydalanadi (==).

Keyingi ikkita misol bir xil narsani yozishning ikki xil usulini ko'rsatadi. Biri bir qator operatorlardan foydalanadi agar va boshqa ikkinchisi - operator almashtirish:

Misol №1 Operator almashtirish
if ($ i == 0) (echo "i - 0";) elseif ($ i == 1) (echo "i - 1";) elseif ($ i == 2) (echo "i - 2"); ) switch ($ i) (0 holat: echo "i - 0"; tanaffus; 1 -holat: echo "i - 1"; tanaffus; 2 -holat: echo "i - 2"; tanaffus;)
Misol №2 Operator almashtirish satrlar bilan solishtirish mumkin
switch ($ i) ("olma" sumkasi: echo "men olma"; tanaffus; "shokolad" sumkasi: echo "i - shokolad"; tanaffus; "pirog" holati: echo "men pirog"; tanaffus) ;)

Operator qanday ishlashini tushunish muhimdir almashtirish xatolarga yo'l qo'ymaslik uchun bajariladi. Operator almashtirish satrma -bosqich bajaradi (aslida ifoda orqali ifoda). Boshida hech qanday kod bajarilmaydi. Faqat operator topilsa ish uning qiymati operatordagi ifoda qiymati bilan bir xil almashtirish, PHP bayonotlarni bajarishni boshlaydi. PHP blok oxirigacha bayonotlarni bajarishda davom etadi almashtirish yoki operator bilan uchrashguncha tanaffus... Agar siz operatorni yozmasangiz tanaffus ish bo'limi oxirida PHP keyingi ish qismining buyruqlarini bajarishda davom etadi. Masalan:

Switch ($ i) (0 holat: echo "i - 0"; 1 -holat: echo "i - 1"; 2 -holat: echo "i - 2";)

Bu misolda, agar $ i 0 bo'lsa, PHP barcha echolarni bajaradi! Agar $ i 1 bo'lsa, PHP oxirgi ikkita echo bayonotini bajaradi. Siz kutgan operator xatti -harakatlarini olasiz ("i 2 ga teng" ko'rsatiladi) faqat $ i 2 ga teng bo'lsa. Shunday qilib, operatorlarni unutmaslik kerak. tanaffus(agar siz uni ba'zi hollarda maqsadli ishlatishdan qochmoqchi bo'lsangiz ham).

Operatorda almashtirish ifoda bir marta baholanadi va bu natija har bir operator bilan taqqoslanadi ish... Ifodada boshqa, ifoda yana baholanadi. Agar sizning holatingiz oddiy taqqoslashdan ko'ra murakkabroq bo'lsa va / yoki pastadir bo'lsa, konstruktsiya almashtirish tezroq yugurishi mumkin.

Ishlar bo'limida bajarilishi kerak bo'lgan bayonotlar ro'yxati ham bo'sh bo'lishi mumkin, bu esa nazoratni keyingi holat bo'limidagi bayonotlar ro'yxatiga o'tkazadi.

Switch ($ i) (0 -holat: 1 -holat: 2 -holat: echo "i 3dan kichik, lekin salbiy emas"; tanaffus; 3 -holat: echo "i 3";)

Kassa konstruktsiyasining o'ziga xos turi standart... Boshqa holat bayonnomalari ishga tushmaganidan keyin nazorat bu erga keladi. Masalan:

Switch ($ i) (0 holat: echo "i - 0"; tanaffus; 1 -holat: echo "i - 1"; tanaffus; 2 -holat: echo "i - 2"; tanaffus; standart: echo "i 0 emas , 1 yoki 2 ";)

Operatorda ifoda ish oddiy turga, ya'ni butun songa yoki suzuvchi nuqta turiga (float) yoki mag'lubiyatga o'tkaziladigan har qanday ifoda bo'lishi mumkin. Bu erda oddiy turga havola qilinmaguncha massivlar yoki moslamalarni ishlatish mumkin emas.

Kommutatorni boshqarish tuzilmasining muqobil sintaksisi mumkin. Qo'shimcha ma'lumot olish uchun Boshqaruv tuzilmalari uchun muqobil sintaksisga qarang.

Switch ($ i): 0 holat: echo "i - 0"; tanaffus; 1 -holat: echo "i - 1"; tanaffus; 2 -holat: echo "i 2"; tanaffus; standart: echo "i 0, 1 yoki 2 ga teng emas"; tugatuvchi;

Case bayonotidan keyin nuqta -vergul o'rniga nuqta -vergul qo'yish mumkin. Masalan:

Switch ($ pivo) (sumka "tuborg"; sumka "carlsberg"; sumka "heineken"; echo "Yaxshi tanlov"; tanaffus; standart; echo "Iltimos, yangi tanlov qiling ..."; tanaffus;)

Switch iborasi IF ELSEIF ELSE konstruktsiyasiga o'xshaydi va qiymatga qarab har xil amallarni bajarishga imkon beradi.

Quyidagi kodda if va switch yordamida bir xil muammoni qanday hal qilish mumkinligini ko'rishingiz mumkin:

Kalit konstruktsiyasi bo'sh == taqqoslashdan foydalanadi.

Qavslar ichida biz qolganlar bilan taqqoslanadigan qiymatni qo'yamiz. Keyin ish, taqqoslanadigan qiymat va ikkita nuqta keladi. Keyin bajariladigan buyruqlar bor. Agar blokirovka bajarilmasa, standart blok bajariladi.

Break bayonoti kalitning joriy bajarilishini to'xtatadi. Gap shundaki, switch hamma buyruqlarni ketma -ket bajaradi, hatto ular har xil blok bloklarda bo'lsa ham:

"; 2 -holat: echo" Holati: etkazib berilgan
"; tanaffus; 3 -holat: echo" Holati: tugallangan
"; tanaffus;)?>

Natija brauzerda:

Holat: ishlov berish holati: etkazib berilgan

Ko'rib turganingizdek, 2 ta ish bloki bajarildi. Birinchisi, chunki u shartga mos keladi, ikkinchisi - birinchi blokda uzilish yo'q.

CASE -da bir nechta qiymat

Bundan tashqari, kalitda siz bir nechta qiymatlar uchun bitta kod blokidan foydalanishingiz mumkin:

Odatda if va switch o'rtasidagi tanlov faqat ishlab chiqaruvchining xohishiga ko'ra amalga oshiriladi. Shaxsan men hech qachon swtichni faqat shu sababdan ishlatmayman if-else tuzadi Menga if-else ko'proq yoqadi.