PHP භාෂාව හයවන පාඩම- පාලන ආකෘති if , else , elseif (Control Structures – if , else , elseif) (06 – 2)

පාලන ආකෘති යටනේ මුලිම සලකා බැලෙන්නේ  “if” (ඉෆ්) පාලන ආකෘතිය ගැනයි.

බොහෝ පරිඝණක භාෂාවල if (ඉෆ්) ආකෘතිය ඉතාම වැදගත් වන අතර php  තුලද “if” ආකෘතිය ඉතාම වැදගත් කාර්යභාරයක් සිදුකරනු ලබනවා.

මෙහි කේත ආකෘතිය පහත පරිදි වෙනවා.

if (expression) // තර්කය
statement //ක්‍රියාව

මෙහි if යනු ඔබ දැනටමත් දන්නා පරිදි ඵ්ප් සදහාම අනන්‍ය වු වෙන්කරන ලද වචනයකි එනම් Key word එකකි.

<?php
$x = 10;
$y = 5;
if ($x > $y)
echo "x is bigger than y";
?>

ඔබ දැනටමත් “echo” යන කේතය ගැන දන්නා නිසා මෙහි සිදුවන්නේ , යමක් දර්ශය වීම බව ඔබට වටහා ගත හැක. මෙහිදී මම පලමුවෙන්ම $x ලෙස හා $y ලෙස විචල්‍ය 2ක් සාදා පිලිවෙලින් එයට 10  හා 5 යන අගයන් ආදේශ කර ඇත. එනම් $x 10 ලෙසත්, $y 5 ලෙසත් සකසා ඇත.

පසුව මම if කේතනය අරබා ඇත. මම මෙහිදි කරනු ලබන්නේ මා සැකසු විචලය්‍ය දෙක සසදා බැලීමකි. එහිදි මම විචලය්‍ය දෙක සැසදීම සදහා තර්කය ලෙස ගනු ලබන්නේ, එම විචලය්‍ය වල අගයන්ගේ විශාලත්වයයි.

if කේතනයේ දී  සරල වරහන් ( “()” ) තුල ඔබ ගේ තර්කය ලියනු ලබයි. පසුව ( “{}” ) වරහන් තුල ලියනු ලබන්නේ එම ඔබගේ තර්කය “නිවැරදි” වුව හොත් කුමක් සිදු විය යුතුද යන්නය.  (දැන් ඔබට යම් වැටහිමක් ඇති ඉෆ් භාවිතා කරනුයේ අප යම් තාර්කික ප්‍රකාශයක් ගොඩ නැගීමට බව ) එනම් මගේ කේතයට අනුව $x විශාල නම් $y ට  වඩා “x is bigger than y” යන වැකිය දර්ශනය කරන්න කියාය.

ඔබ මදකට $x හා $y හි අගයන් මාරු කර නැවත කේතය ධාවනය කර බලන්න.

<?php
$x = 5;
$y = 10;
if ($x > $y)
echo "x is bigger than y";
?>

ඔබට කිසිදු ප්‍රතිපලයක් නොලැබෙනු ඇත.

මෙය php මගින් වෙබ් ඇප්ලිකේශන් ලිවිමේදි if විධානය ඉතා බහුලව භාවිතා වෙයි. උදාහරනයකට ඔබ “ෂොපින් කාර්ට්” වැනි සංකීර්ණ යෙදවුමක් සංවර්ධනය කරනවා යැයි සිතන්න. ඔබට අවැසියි, ඔබේ “ගබඩාවෙන්” ගිය සතිය තුල විකුනු බඩු සියල්ල තෝරා ගැනීමට. මේ සදහා ඔබට if විධානය භාවිතා කිරීම සිදු කල හැක.

php හි මූලික සංකල්ප නිමා වූ පසු මා බලාපොරොත්තු වෙනවා ප්‍රායෝගික අභ්‍යස කීපයක් ඉදිරිපත් කරන්න. එහිදි ඔබට ප්‍රායෝගිකව if විධානය ගැන අවබෝධයක් ගත හැකි වනු ඇත.

මතක තබා ගත යුතු දෙය නම් if පමනක් භාවිතා කිරීමෙන් ඔබට යම් විධානයක් හෝ යම් ක්‍රියාවක් කල හැක්කේ, ඔබ ලබා දෙන තර්කය නිවැරදි නම් පමනි. ඉහත උදාහරන්යෙන් ඔබ එය වටහා ගත්තා යැයි සිතනවා.

එහිදි $x > $y නම් පමනක් “x is bigger than y” යන්න දර්ශනය කරයි.

එනම් “තර්කය සත්‍යය නම් මෙය සිදු කරන්න” යැයි දෙනු ලබන විධානයකි.

අපි දැන් සලකා බලමු  “else” විධානය ගැන.

මෙය සෑම විටම if සමග යෙදෙන අතර කිසිදු විටෙක if මෙන් තනිව භාවිතා කල හැකි නොවෙයි. මෙහි සරලව සිදු වන්නේ ඉෆ් තුල සලකා බලනු ලබන තර්කය “අසත්‍ය වී නම් කල යුතු දෙයයි.

else හී කේත රටාව පහත පරිදි වෙයි

if( $condition ) {
dosomething;

} else {
dosomethingelse;
}

අප මෙය උදාහරනයකින් වටහා ගමු. මම ඉහත උදාහරණයම මේ සදහා යොදා ගනු ලබනවා.

පලමු අවස්ථාව තර්කය සත්‍ය විට ( $x > $y )

<?php
$x = 10;
$y = 5;
if ($x > $y) {
echo "x is greater than y";
} else {
echo "x is NOT greater than y";
}
?>

ඔබට x is greater than y කියා ලැබේවි.

දෙවන අවස්ථාව තර්කය අසත්‍ය විට ( $x > $y )

<?php
$x = 5;
$y = 10;
if ($x > $y) {
echo "x is greater than y";
} else {
echo "x is NOT greater than y";
}
?>

ඔබට x is NOT greater than y කියා ලැබේවි.

එනම් මෙහිදි if තුල $x හා $y සැසදීමේදි $x හි අගය (5)  $y (10) හි අගයට වඩා කුඩා බව වටහා ගනි. එනම් ප්‍රකාශයට අනුව ලියා ඇති තර්කය “අසත්‍ය” ලෙස ලබා දෙයි. එනම් එහිදි if තුල ඇති දේ නොව else තුල ඇති දේ ක්‍රියාත්මක කිරීමට යොමු වෙයි.

එනම් “ඔබේ තර්කය නිවැරදි නම් if තුල ඇති දේද එසේ නොවේ නම් else තුල ඇති දේද ක්‍රියත්මක කරන්න” යන අදහස ගත හැකිය.

මතක තබා ගත යුත්තේ else කිසි විටෙක තනිවම යෙදෙන්නේ නැත. එය සෑම විටම if විධානය මත රදාපවති.

අප දැන් elseif / else if ගැන සලකා බලමු.

මෙහි elseif   හා else if යනු කේත ලිවිමේ ආකාර දෙකක් නමුත් එහි ක්‍රියාව සමානය.  elseif ආකාර ඉතා පහසු මෙන්ම ජනප්‍රිය නිසා  මම ඒ තුලින් පැහැදිලි කිරීම කරන්නම්. else if හි කේත රටාව පසුව ඉදිරිපත් කරන්නම්.

මෙය ද if  හා else හි තවත් “ඉදිරි පියවක්” වන අතර එහි ක්‍රියාවම වන අතර ක්‍රියාවේ කිසිදු වෙනසක් නෑ.

හි කේත රටාව පහත පරිදිය

if(condition 1){
Do Something;
}
elseif(condition 2){
Do Something;
}
else {
Do Something;
}

ඔබ සිතන්න, ඔබට සිදුවනවා පාසැලක ලමුන්ගේ වාර පරික්ශන සදහා ලමුන් ලබා ගන්නා ලකුණු අනුව ඔවුනට සමාර්ථ ලබා දීමට වැඩසටහනක් නිර්මාණය කිරීමට. එය සිදු කිරීමට ඔබට අවස්ථා කීපයක් පිලිබද විමසා බැලිය යුතුය. එනම් 100 – 75 අතර ලකුනු ගන්නා ලමුන්, හට A සමාර්ථය, 74 – 50 අතර ලකුණු ඇති ලමුන්ට B සාමාර්ථය,  49 – 35  අතර ලමුන්ට C සමාර්ථය හා 34 – 0  අතර ලමුන් අසමත් ලෙස ද ආදි ලෙස ඔබට අවස්ථා කීපයක් තුල තර්ක කීපයක් විමසා බැලියමට සිදුවනවා. එලෙස තර්ක කීපයක් විමසා බැලීමට අවැසි විට ඔබට මෙම ifelse විධාන ආකාරය යොදා ගනු ලබයි.  පහත උදාහරනයෙන් එය තවත් පැහැදිලි වනු ඇත.

<?php
$x = 10;
$y = 10;
if ($x > $y) {
echo "x is bigger than y";
} elseif ($x == $y) {
echo "x is equal to y";
} else {
echo "x is smaller than y";
}

මෙහිදී ඔබට ලැබෙන ප්‍රතිපලය x is equal to y” යන්නය.

මෙය else if අකාරයෙන් ලියනු ලබන්නේ පහත ආකාරයටය. නමුත් මේ ක්‍රමය එතරම් ජනප්‍රිය නැත.

x is equal to y”

<?php
$x = 10;
$y = 10;
if($x > $y):
echo "x is bigger than y";
elseif($x == $y): // Note the combination of the words.
echo "x is equal to y";
else:
echo "x is smaller than y";
endif;
?>

නමුත් මෙය පහත පරිදි “else if” ලෙස ලියන්නේ නැත. එය නිවැරදි කේත ආකාරයක් නොවන අතර ඔබට දෝශ පණිවිඩයක් ලැබේවි.

<?php
$x = 10;
$y = 10;
if($x > $y):
echo "x is bigger than y";
else if($x == $y): // මෙය වැරදි යෙදීමකි.
echo "x is equal to y";
else:
echo "x is smaller than y";
endif;
?>

About Umanda Jayobandara (උමන්ද ජයෝබණ්ඩාර)

I am a Software Engineer in Sri Lanaka. Please visit my web site for more info http://umandajayobandara.com/
This entry was posted in පන්ති කාමරේ..., php and tagged , , . Bookmark the permalink.

එක් අයෙකු PHP භාෂාව හයවන පාඩම- පාලන ආකෘති if , else , elseif (Control Structures – if , else , elseif) (06 – 2) සදහා ප්‍රතිචාර දක්වා ඇත

  1. Sasroo පවසයි:

    ඔබගේ මෙම ලිපිය අප ඉතාමත් අගය කරන අතර හදුන්වාදෙන http://ads.sasroo.com හි සිංහල Per Per Click දැන්වීම් වැඩසටහන හි පබ්ලිශර් ගිණුමෙහි ලියපදිංචි වී අදම ඔබගේ වෙබ් අඩ්වියෙහි සිංහල දැන්විම් පළකර ඔබට මෙම සිංහල වෙබ් අඩ්විය මඟින් අමතර අදායමක් උපයා ගතහැකි බව සතුටින් දන්වා සිටිමු.

    කැමතියි

ලිපිය සම්බන්දව ඔබගේ අදහස් ලබා දෙන්න

Fill in your details below or click an icon to log in:

WordPress.com Logo

ඔබ අදහස් දක්වන්නේ ඔබේ WordPress.com ගිණුම හරහා ය. පිට වන්න / වෙනස් කරන්න )

Twitter picture

ඔබ අදහස් දක්වන්නේ ඔබේ Twitter ගිණුම හරහා ය. පිට වන්න / වෙනස් කරන්න )

Facebook photo

ඔබ අදහස් දක්වන්නේ ඔබේ Facebook ගිණුම හරහා ය. පිට වන්න / වෙනස් කරන්න )

Google+ photo

ඔබ අදහස් දක්වන්නේ ඔබේ Google+ ගිණුම හරහා ය. පිට වන්න / වෙනස් කරන්න )