⊗ppPmCdBNM 100 of 447 menu

Опционалност на break во PHP

Командата 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šuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј