⊗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 бажарилгандан сўнг, ундан pastdagi барча case-лар ҳам бажарилади. Бaъзан бундай хусусиятдан масалаларни ечishda фойдаланилади.

️ Кейинги мисолда, агар $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; ?>

️ Юқорида мен айтганман, бaъзан бундай хусусиятдан фойдаланилади, лекин мен, умуман олганда, уни ишлатишни tavsiya qilmayman, чунки код жуда аник ️ бўлиб қолмайди.

️ Бундай масалани if-лар орқали ечиш аникрокдир:

<?php $num = 1; if ($num == 1 or $num == 2) { $res = 'a'; } if ($num == 3) { $res = 'b'; } echo $res; ?>
kkhytrazit