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;
}
?>