Sunday, 2024-05-12, 5:40 PM
ဟက္ကာဖိုရမ္
Main Registration Login
Welcome, Guest · RSS
[ New messages · Members · Forum rules · Search · RSS ]
  • Page 1 of 1
  • 1
Forum » WEB DEVELOPMENT » PHP » PHP: If/Elseif/Else and Switch
PHP: If/Elseif/Else and Switch
ဟတ္ကာDate: Tuesday, 2010-10-12, 7:34 PM | Message # 1
Major
Group: Administrators
Messages: 91
Reputation: 0
Status: Offline
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; နဲ႔ မပိတ္ခင္အထိ ႀကိဳက္သေလာက္ ေရးလို႔ရပါတယ္။

 
Forum » WEB DEVELOPMENT » PHP » PHP: If/Elseif/Else and Switch
  • Page 1 of 1
  • 1
Search:

Powered by uCoz