⊗ppPmCdBNM 100 of 447 menu

PHPдеги breakтин милдеттүү эместиги

break командасы милдеттүү эмес. Бирок, ансыз case блокторунун жүрүм-туруму күтүлбөгөн болот. Келгиле, мисал менен карап чыгалы. Бизде төмөнкүдөй код бар деп коёлу:

<?php $num = 1; switch ($num) { case 1: echo 1; break; case 2: echo 2; break; case 3: echo 3; break; } ?>

Андан бардык break-терди алайын, ал эми $num өзгөрмөсүнө башында 3 санын жазайын.

Баары мурункудай эле иштей берет:

<?php $num = 3; // бул жерде 3 саны болсун switch ($num) { case 1: echo 1; case 2: echo 2; case 3: echo 3; } // Иштеткенден кийин код 3 чыгарат - баары жакшы ?>

Келгиле, эми $num өзгөрмөсүнө 2 санын жазайын. Бул учурда биздин күткөнүбүздөй case 2 аткарылат, андан кийин күтүлбөгөндөй case 3 дагы аткарылат:

<?php $num = 2; switch ($num) { case 1: echo 1; case 2: echo 2; case 3: echo 3; } // Иштеткенден кийин код 2, андан кийин 3 чыгарат ?>

Эгерде $num өзгөрмөсүнө 1 санын жазсак, анда бардык case курулмалары аткарылып калат:

<?php $num = 1; switch ($num) { case 1: echo 1; case 2: echo 2; case 3: echo 3; } // Иштеткенден кийин код 1, андан кийин 2, андан кийин 3 чыгарат ?>

Башкача айтканда, break жок болгондо, ойлонулган case аткарылгандан кийин, анын төмөн жактагы бардык case-тери да аткарылат. Кээде мунуй өзгөчөлүгү маселелерди чечүүдө колдонулат.

Төмөнкү мисалда, эгерде $num өзгөрмөсүнүн мааниси 1 же 2 болсо, анда $res өзгөрмөсүнө 'a' жазылат. Эгерде $num өзгөрмөсүнүн мааниси 3 болсо, анда $res өзгөрмөсүнө 'b' жазылат:

<?php $num = 1; switch ($num) { case 1: case 2: $res = 'a'; break; case 3: $res = 'b'; break; } echo $res; ?>

Жогоруда мен, кээде бул өзгөчөлүк колдонулат деп жаздым, бирок мен, жалпысынан, аны колдонууну сунуш кылбайм, анткени код өтө түшүнүктүү болуп калбайт.

Мындай маселени if-тер аркылуу чечүү түшүнүктүүрөөк:

<?php $num = 1; if ($num == 1 or $num == 2) { $res = 'a'; } if ($num == 3) { $res = 'b'; } echo $res; ?>
Кыргызча
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어LietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Биз сайттин иштөөсү, аналитика жана персонализация үчүн cookie файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу