⊗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हिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել