PHP: If/Elseif/Else and Switch
Program တွေရေးသားရာမှာ အခြေအနေ တစ်ရပ် အပေါ်မှာ မူတည်ပီး လုပ်ဆောင်ရမယ့် ပုံစံမျိုးတွေ ကြုံရပါမယ်။ ဥပမာ – ကျနော်တို့တွေ သုံးနေကျတဲ့ email program တွေမှာပဲ ကြည့်ပါ။ user name နဲ့ password ကို စစ်မယ်။ မှန်တယ်ဆိုရင် email message တွေ ပြပေးမယ်။ မှားတယ်ဆိုရင်တော့ မှားနေပါတယ် ဆိုတဲ့အကြောင်း message ပြန်ပြမယ်။ ထပ်ပီး login လုပ်ခိုင်းမယ်။ အဲလို Decision Making တွေ လုပ်နိုင်ဖို့အတွက် If statement ကို သုံးကြရပါတယ်။
အရိုးရှင်းဆုံးဖြစ်တဲ့ if/then statement ကတော့ အမြဲလိုလို ရေးနေရမှာပါပဲ။ အခြေအနေ တစ်ခုက မှန်တယ်ဆိုရင် တစ်ခုခုလုပ်မယ်ပေါ့။ မှားနေရင်တော့ အဲဒါမလုပ်တော့ဘဲ ကျော်သွားမှာပေါ့။
If Statement Example
လွယ်လွယ်လေးကိုပဲ အရင်ကြည့်ကြည့် ရအောင်။
<html>
<body>
<?php
$my_name = "googoo";
if ($my_name == "googoo") {
echo "Your name is googoo!<br />";
}
if ($my_name == "doodoo") {
echo "Your name is doodoo!<br />";
}
echo "Welcome to my homepage!";
?>
</body>
</html>
If statement မှာ ညီသလား စစ်ချင်ရင် (“==”) ကို သုံးရပါတယ်။ ပထမ if မှာ စစ်ထားတဲ့ condition ဟာ မှန်တဲ့အတွက် true လို့ return ပြန်လာပါတယ်။ အဲဒီအတွက် သူ့ထဲက echo ကို execute လုပ်သွားပါတယ်။ ဒုတိယ if မှာ variable ထဲမှာ ရှိတဲ့ တန်ဖိုးနဲ့ နောက်က တိုက်စစ်ထားတဲ့ စာသား မတူတဲ့ (false) အတွက် if statement ထဲမှာ ရှိတဲ့ echo statement ကို execute မလုပ်ဘဲ ကျော်သွားပါတယ်။
If/Else Conditional Statement
စာကြိုးစားရင် စားမေးပွဲအောင်မယ်၊ အဲလိုမဟုတ်ရင်တော့ ကျမယ်’ ဆိုတဲ့ ပုံစံမျိုးပါ။ နမူနာ ကြည့်ကြည့်ပါ။
<html>
<body>
<?php
$answer = "yes";
echo "Do try hard for your exam?<br />";
if ($answer == "yes") {
echo "Great! You will pass your exam!";
} else {
echo "I'm afraid, You will surely fail!";
}
?>
</body>
</html>
$answer မှာ yes ထည့်ထားတဲ့ အတွက် Great! You will pass your exam! ကို ပြပေးသွားပါတယ်။ else block ထဲက echo ကို မပြတော့ပါဘူး။ $answer မှာ no လို့ ပြင်ပီး ကြည့်ကြည့်ပါ။ I’m afraid, You will surely fail! လို့ ပြပါလိမ့်မယ်။
If statement မှာ condition စစ်တဲ့ statement ထည့်ကို ထည့်ပေးရပါမယ်။ Else statement မှာတော့ ထည့်ပေးစရာ မလိုတော့ပါဘူး။ သူက တစ်ခါထဲ false ဖြစ်ပီးသားပါ။
PHP – Elseif
If/Else statement ကတော့ condition တစ်ခုထဲ အတွက်ဆိုရင်တော့ အဆင်ပြေပါတယ်။ တကယ်လို့ condition အများကြီးစစ်ရမယ်ဆိုရင် (ဥပမာ) မနက်ခင်းဆို Good Morning! နေ့လည်ဆို Good Afternoon! ညနေဆို Good Evening! ညဆို Good Night! လို့ ပြချင်တယ်ပေါ့။ ၄ ခု စစ်ရတော့မယ်။ အဲလို အခြေအနေမှာ If/Elseif/Elseif/…/Else ပုံစံနဲ့ စစ်လို့ရပါတယ်။
Elseif ကလဲ If လိုပါပဲ။ condition statement ပါရပါမယ်။ Elseif ကို သူ့အရင် စစ်ထားတဲ့ If statement တစ်ခု မပါဘဲ ရေးလို့ မရပါဘူး။
Using Elseif with If…Else
ကျနော်တို့ အပေါ်မှာ ပြောခဲ့တဲ့ ဥပမာကိုပဲ ရေးကြည့်ပါမယ်။
<html>
<body>
<?php
$time = "evening";
if ($time == "morning") {
echo "Good Morning!";
} elseif ($time == "afternoon") {
echo "Good Afternoon!";
} elseif ($time = "evening") {
echo "Good Evening!";
} else {
echo "Good Night!";
}
?>
</body>
</html>
$time မှာ evening ထည့်လိုက်ပါတယ်။ if မှာ morning လို့ စစ်ထားတဲ့ အတွက် false ဖြစ်ပြီး ကျော်သွားပါတယ်။ ပထမ elseif မှာလဲ afternoon မို့လို့ ကျော်သွားပါတယ်။ ဒုတိယ elseif မှာတော့ evening ဖြစ်တဲ့အတွက် မှန်သွားပါပီ။ အဲဒီ elseif block ထဲက echo ကို execute လုပ်သွားပါတယ်။ နောက်ဆုံး else ထိ ဆက်မသွားတော့ပါဘူး။ သဘောပေါက်မယ် ထင်ပါတယ်။ $time ထဲက တန်ဖိုးတွေ ပြောင်းပြီး စမ်းကြည့်ကြပါ။
မှတ်ချက်။ ။ အခု လောလောဆယ် ကျနော်တို့တွေ Form processing ကို မရောက်သေးတဲ့ အခုလိုပဲ variable တန်ဖိုးတွေကို code ထဲမှာပဲ သွားပြင်ပီး စမ်းပေးပါ။ အမှန်ကတော့ အခုပုံစံတွေက variable တန်ဖိုးတွေထဲကို user တွေဆီက နေတောင်းရမှာပါ။ Form တွေ လိုအပ်လာပါမယ်။ အခု ဥပမာ ဆိုရင်လဲ Date/Time function တွေ သုံးပီး အချိန်ကို စစ်ရမှာပါ။ နောက်ပိုင်းမှာ ပါလာပါမယ်။
PHP – Switch Statement
ကျနော်တို့တွေ condition တွေ စစ်ဖို့အတွက် If statement အကြောင်းကို လေ့လာခဲ့ ပြီးပါပြီ။ ဒါပေမယ့် တချို့ condition တွေကို စစ်ဖို့ အတွက် If က အကောင်းဆုံး နည်းလမ်းတော့ မဟုတ်သေးပါဘူး။ ဥပမာ – စားသောက်ဆိုင် တစ်ဆိုင်မှာ ဟင်း အမျိုး ၂၀ ရတယ် ဆိုပါစို့။ ပုဇွန်က ၁၀၀၀၊ ကြက်သား ရ၀၀၊ ဝက်သား ၅၀၀ စသည်ဖြင့်ပေါ့။ အဲဒါကို if/elseif/else နဲ့ စစ်မယ်ဆိုရင် if မှာ variable တစ်ခါရေးရမယ်။ elseif ၁၈ ကြောင်းမှာလဲ variable ထပ်ထပ် ရေးရမယ်။ code တွေလဲ ရှုပ်ကုန်မယ်။
Switch statement ကတော့ variable တစ်လုံးထဲကို ယူလိုက်တယ်။ switch အတွက် ရေးထားတဲ့ case တွေနဲ့ တိုက်စစ်မယ်။ တူတဲ့ case ထဲမှာ ရေးထားတဲ့ statement ကို execute လုပ်ပေးသွားမယ်။ variable ကို ထပ်ရေးပြီး တစ်ကြောင်း တစ်ခါ စစ်ဖို့ မလိုတော့ဘူး။ case စစ်တဲ့ လိုင်းကို full colon (“:”) နဲ့ ပိတ်ရမယ်။ ဥပမာနဲ့ ကြည့်ကြည့်မယ်။
<html>
<body>
<?php
$curry = "Steamed Duck";
$cost = 0;
switch ($curry) {
case "Crab Curry":
$cost = 1500;
break;
case "Chicken Curry":
$cost = 1000;
break;
case "Chicken Soup":
$cost = 500;
break;
case "Chicken Salad":
$cost = 700;
break;
case "Fried Fish":
$cost = 500;
break;
case "Mutton Curry":
$cost = 800;
break;
case "Prawn Curry":
$cost = 1200;
break;
case "Steamed Pork":
$cost = 600;
break;
case "Steamed Duck":
$cost = 2000;
break;
case "Dcuk Curry":
$cost = 1800;
break;
}
echo $curry . " is " . $cost . " kyats.";
?>
</body>
</html>
$curry မှာ Steamed Duck ကို ထည့်ပေးထားပါတယ်။ Switch ထဲမှာ $curry ကို စစ်လိုက်တာနဲ့ သူနဲ့ ဆိုင်တဲ့ case ကို လိုက်ရှာပါတော့တယ်။ Steamed Duck case ကိုတွေ့ပီ ဆိုတာနဲ့ သူထဲမှာပါတဲ့ statement တွေကို execute လုပ်ပေးပါမယ်။ ဒီနေရာမှာ $cost ထဲကို ၂၀၀၀ ထည့်ပေး လိုက်ပါတယ်။ အဲဒီ case တွေရဲ့ အဆုံးမှာမှာ break; ဆိုတာကို သတိထားကြည့်ပါ။ သူကတော့ မှန်ကန်တဲ့ case ထဲက code တွေ execute လုပ်အပီးမှာ ကျန်တဲ့ တခြား case တွေက code တွေ execute မလုပ်တော့အောင် တားပေးပါတယ်။ တကယ်လို့ case တွေ အားလုံးမှာ break; မပါခဲ့ဖူးဆိုရင်၊ Steamed Duck ရဲ့ နောက်က case တွေကို execute လုပ် သွားမှာပါ။ ဒီ ဥပမာအရ ဆိုရင်တော့ Duck Curry က statement ကို ဆက်သွားမှာမို့ $cost ထဲကို ၁၈၀၀ ရောက် သွားပါလိမ့်မယ်။ ကဲ break; တွေရဲ့ ရှေ့မှာ // ခံ comment ခဏလုပ်ပြီး စမ်းကြည့်ပါ။
ကဲ break; ထည့်ဖို့ မမေ့ကြပါနဲ့။
Switch Statement with Default Case
အပေါ်က ဥပမာမှာ တစ်ခု သတိထားမိ ကြပါလိမ့်မယ်။ တကယ်လို့ ကျနော်တို့ စစ်တဲ့ variable က case တိုင်းနဲ့ match မဖြစ်ဖူးဆိုပါစို့။ If statement မှာတုန်းကလိုပါပဲ Switch statement မှာလဲ လုံးဝ match မဖြစ်တဲ့ အခြေအနေမှာ သုံးဖို့ Default case ရှိပါတယ်။ Switch statement တိုင်းမှာ Default case ထည့်ပေး သင့်ပါတယ်။ အပေါ်က ဥပမာကိုပဲ မပါတဲ့ ဟင်းထည့်ပေးပြီး Default case ထပ်ဖြည့်ကြည့်မယ်။
<html>
<body>
<?php
$curry = "Steamed Duck";
$cost = 0;
switch ($curry) {
case "Crab Curry":
$cost = 1500;
break;
case "Chicken Curry":
$cost = 1000;
break;
case "Chicken Soup":
$cost = 500;
break;
case "Chicken Salad":
$cost = 700;
break;
case "Fried Fish":
$cost = 500;
break;
case "Mutton Curry":
$cost = 800;
break;
case "Prawn Curry":
$cost = 1200;
break;
case "Steamed Pork":
$cost = 600;
break;
case "Steamed Duck":
$cost = 2000;
break;
case "Dcuk Curry":
$cost = 1800;
break;
default:
echo $curry . " isn't available here!";
}
if ($cost != 0) {
echo $curry . " is " . $cost . " kyats.";
}
?>
</body>
</html>
ဒီနေရာမှာ default case run သွားရင် အောက်ဆုံးက echo ကို execute ဆက်မလုပ်အောင် if နဲ့ $cost ကို 0 နဲ့ ညီ မညီ ထပ်စစ် လိုက်ပါတယ်။ ကျနော်တို့ ရေးထားတဲ့ case တွေနဲ့ match မဖြစ်ဖူး ဆိုတာနဲ့ $cost မှာ 0 ဖြစ်နေမှာပါ။ match ဖြစ်ပီဆိုရင်လဲ သက်ဆိုင်ရာ တန်ဖိုး တစ်ခုခု ရှိနေမှာပါ။ တန်ဖိုးရှိနေရင် အောက်ဆုံး echo ကို run သွားပါမယ်။ အခု default case run သွားတဲ့ အတွက် $cost ထဲမှာ 0 ရှိနေမှာပါ။ အောက်ဆုံး echo မ run တော့ပါဖူး။ နားလည် ကြမှာပါ။
နောက်ဆုံး ပြောချင်တာက – ပေါ်က ဥပမာတွေမှာ If/Elseif/Else block ( if ( .. condition .. ) { ….. } ) တွေထဲမှာ statement တွေ တစ်ကြောင်းစီပဲ ထည့်ရေးခဲ့ပါတယ်။ တကယ်တော့ { နဲ့ } ကြားထဲမှာ statement တွေ ကြိုက်သလောက် ရေးလို့ရပါတယ်။ Case မှာလဲ အတူတူပါပဲ။ break; နဲ့ မပိတ်ခင်အထိ ကြိုက်သလောက် ရေးလို့ရပါတယ်။
Facebook comments:









