Darsliklar PHP switch tanglash operatori

PHP PHP switch tanglash operatori

switch (tanlash operatori) — bitta qiymatni ko’plab mumkin bo’lgan variantlar bilan solishtirishning tozaroq usuli. Uzun if...elseif zanjiri o’qishni qiyinlashtirganda, switch kodni ancha tartibli qiladi. U ayniqsa aniq, sanab o’tiladigan variantlar bilan ishlashda qulay.

switchbir ifodaning qiymatini bir necha case yorlig’i bilan ketma-ket solishtirib, mos kelganini bajaradigan tanlash operatori. Har bir case odatda break bilan tugaydi.

Oddiy switch

switch berilgan qiymatni har bir case bilan solishtiradi va mos kelganini bajaradi:

<?php
$kun = 3;
switch ($kun) {
    case 1:
        echo "Dushanba";
        break;
    case 2:
        echo "Seshanba";
        break;
    case 3:
        echo "Chorshanba";
        break;
    default:
        echo "Noma'lum kun";
}
?>
Chorshanba

$kun qiymati 3 bo’lgani uchun case 3 bajarildi. default esa hech qaysi case mos kelmaganda ishlaydi.

break ning muhimligi

break operatori juda muhim — u switchdan chiqishni ta’minlaydi. Agar break yozilmasa, dastur keyingi case larga ham “sirg’alib” o’tib ketadi (fall-through):

<?php
$son = 1;
switch ($son) {
    case 1:
        echo "Bir\n";
    case 2:
        echo "Ikki\n";
    case 3:
        echo "Uch\n";
        break;
}
?>
Bir
Ikki
Uch

case 1 da break yo’qligi uchun dastur to’xtamay, keyingilarni ham bajardi. Har bir case ni break bilan yakunlashni odat qiling.

switch matn bilan

PHP’da switch matn (string) bilan ham ishlaydi — bu menyu tanlovlarida qulay:

<?php
$tanlov = "kirish";
switch ($tanlov) {
    case "royxat":
        echo "Ro'yxatdan o'tish";
        break;
    case "kirish":
        echo "Tizimga kirish";
        break;
    default:
        echo "Noto'g'ri tanlov";
}
?>
Tizimga kirish

switch va if: qaysi biri qachon?

Ikkovining farqini jadvalda ko’ramiz:

Xususiyat switch if...elseif
Solishtirish turi aniq tenglik har qanday shart
Oraliq ($x > 5) qo’llab-quvvatlamaydi qo’llab-quvvatlaydi
O’qilishi ko’p variantda toza murakkab shartda moslashuvchan

Amaliy qoida: qiymat aniq variantlar bilan solishtirilsa — switch; oraliq yoki murakkab shart bo’lsa — if.

Xulosa

Bu bo’limda switch operatori, case va default, break ning muhimligi (fall-through) va matn bilan ishlashni ko’rib chiqdik. Aniq variantli tanlov uchun switch — toza yechim. Keyingi darsda while takrorlash operatoriga o’tamiz.