⊗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 файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау