PHP Դասեր - Դաս 8-2 - switch օպերատոր
Նախորդ դասում մենք ծանոթացանք if օպերատորին։ if օպերատորը թույլ է տալիս ստուգել որևէ պայման և, կախված արդյունքից, կատարել անհրաժեշտ գործողություններ։
Եկեք պատկերացնենք, որ մեզ անհրաժեշտ է կատարել տաս ստուգում և, կախված դրանցից, իրականացնել տաս տարբեր գործողություն։ Իհարկե, կարելի է դա անել if օպերատորներով՝
<?php if($x == 1){ // գործողություններ } if($x == 2){ // գործողություններ } if($x == 3){ // գործողություններ } if($x == 4){ // գործողություններ } if($x == 5){ // գործողություններ } if($x == 6){ // գործողություններ } if($x == 7){ // գործողություններ } if($x == 8){ // գործողություններ } if($x == 9){ // գործողություններ } if($x == 10){ // գործողություններ } ?>
Այս մեթոդը կաշխատի, սակայն նմանատիպ ստուգումները ավելի հարմար է գրել switch օպերատորի միջոցով։
PHP switch
switch օպերատորը թույլ է տալիս ստուգել արտահայտության արժեքը բազմաթիվ տարբերակներով։ Եկեք վերաշարադրենք վերը նշված օրինակը՝ օգտագործելով switch՝
<?php switch ($x){ case 1: // գործողություններ break; case 2: // գործողություններ break; case 3: // գործողություններ break; case 4: // գործողություններ break; case 5: // գործողություններ break; case 6: // գործողություններ break; case 7: // գործողություններ break; case 8: // գործողություններ break; case 9: // գործողություններ break; case 10: // գործողություններ break; default: // եթե ոչ մի case չաշխատի, ապա՝ այս գործողություններ } ?>
Ինչպես նշվեց՝ երկու տարբերակն էլ կաշխատեն նույն կերպ։ Բայց switch-ում ավելացվում է default՝ այն կաշխատի, երբ $x-ի արժեքը ոչ մեկին չի համապատասխանում։
Եկեք հասկանանք՝ ինչպես է կառուցվում switch կառուցվածքը։ Սկզբում գալիս է switch բառը, ապա՝ ստուգվող արտահայտությունը փակագծերի մեջ։ Ստուգվող արտահայտությունը կարող է լինել թե թիվ, թե տող։ Օրինակ՝
<?php switch ($x){ case 'Hello': break; case 'Bye': break; } ?>
Փակագծերից հետո գալիս են ֆիգուր փակագծեր։ Դրանց ներսում գրում ենք հնարավոր արժեքները և համապատասխան գործողությունները՝
<?php switch ($x){ case 'Hello': // հնարավոր արժեք print $x; // գործողություն break; // ավարտ case 2: $x++; break; } ?>
Տարբերակները նշվում են case բառով։ Եթե արժեքը տող է, գրում ենք չակերտներով։ Եթե թիվ է՝ առանց չակերտ։ Դրանց հետո գալիս է գործառույթները, ապա՝ break;՝ որը նշում է տվյալ ճյուղի ավարտը։
Օգտակար է հիշել՝
- Միշտ օգտագործեք break; յուրաքանչյուր case-ի ավարտին։
- default-ի դեպքում կարելի է չդնել break, քանի որ այն վերջինն է։
Ստորև ներկայացված է switch օպերատորի բլոկ սխեման՝
Բացատրություն՝ $D-ը օրերի քանակն է սկսած երկուշաբթիից։ $D % 7 գործառույթով գտնում ենք՝ որ օրն է։
<?php // $D՝ օրերի քանակը սկսած երկուշաբթիից $x = $D % 7; switch ($x){ case 1: print 'Երկուշաբթի'; break; case 2: print 'Երեքշաբթի'; break; case 3: print 'Չորեքշաբթի'; break; case 4: print 'Հինգշաբթի'; break; case 5: print 'Ուրբաթ'; break; case 6: print 'Շաբաթ'; break; case 7: print 'Կիրակի'; break; } ?>