PHP Control Structure পর্ব-২: PHP তে else if/elseif and switch statement কি ?

PHP তে else if/elseif statement কি ?

PHP অথবা যেকোনো Programming Language এ else if/elseif statement হচ্ছে, একাধিক বা অনেকগুলো condition বা শর্তের মধ্যে ক্রমান্বয়ে সবগুলো condition বা শর্ত চেক করতে থাকে এবং প্রথম যেই শর্ত পূরণ হবে , তার প্রোগ্রাম execute করার সুযোগ দেয়। এবং পরবর্তী condition গুলো আর চেক করেনা। আরেকটু সহজ ভাবে বলি, ধরুন আপনি দোকানে যাবেন আপেল,কমলা,আঙ্গুর অথবা কলা কেনার জন্য, এক্ষেত্রে আপনার প্রথম পছন্দ আপেল, আর যদি আপেল না পাওয়া যায় তাহলে কমলা নিয়ে আসবেন , কমলা না পাওয়া গেলে আঙ্গুর নিয়ে আসবেন, আর যদি আঙ্গুর ও না পাওয়া যায় তাহলে কলা নিয়ে আসবেন। বাস্তব জীবনের এই চিত্র টি ই PHP অথবা যেকোনো Programming Language এ else if/elseif statement দিয়ে সমাধান করা হয়। নিচের Image টি লক্ষ্য করুন :

PHP তে elseIf Statement কিভাবে কাজ করে?

  • if ও নয় else ও নয় এর মধ্যে যদি কোনো condition true হয় , তাহলে else if/elseif ব্যবহার করা হয়।
  • অনেক গুলো logical else if/ elseif এর মধ্যে যদি কোনো একটা elseif true হয় , তাহলে compiler সেই elseif block এর মধ্যে কোড execute করবে। আর যদি কোনো else if/elseif ই true না হয় , বাই ডিফল্ট else ব্লকটি execute করবে।
  • আরেকটা কথা জেনে রাখা ভালো , যদি অনেক গুলো else if/elseif এর মধ্যে একাধিক else if/elseif true হয়ে যায় , তাহলে শুধু মাত্র প্রথম else if/elseif execute হবে।

PHP তে elseif statement এর Flow Chart

নিচের flowchart টি তে else-if কিভাবে কাজ করে তা সহজে বুঝানো হয়েছে :

elseif Statement এর Syntax কি ?

if(test_expression 1)
{
here goes statements;
}
else if(test_expression 2)
{
here goes statements;
}
else if(test_expression 3)
{
here goes statements;
}
else
{
here goes statements;
}

উদাহরণ ১:

<?php
$age=16;
if(($age > 0) && ($age<=15)){
print("\nyou are child");
}
elseif(($age > 15) && ($age<=25)){
print("\nyou are Young Man!");
}
elseif($age > 25 && $age<=40){
print("\nyou are Matured");
}
else
{
print("\nSorry, You are not capable to work");
}
echo "\nThis is normal flow ";

PHP তে switch statement কি ?

PHP অথবা যেকোনো Programming Language এ switch হচ্ছে else if/elseif statement এর মতোই , পার্থক্য হচ্ছে else if/elseif statement ক্রমান্বয়ে সবগুলো condition বা শর্ত চেক করতে থাকে এবং প্রথম যেই শর্ত পূরণ হবে , তার প্রোগ্রাম execute করার সুযোগ দেয়। এবং পরবর্তী condition গুলো আর চেক করেনা। আর switch ক্রমান্বয়ে সবগুলো condition বা শর্ত চেক করার পরিবর্তে যেই কন্ডিশন মিলে তা লাফ দিয়ে execute করে। অন্য কোনো condition চেক করেনা।

PHP তে switch statement এর Flow Chart

switch Statement এর Syntax কি ?

switch ( variable )
{
case value1:
statement;
break;
case value2:
statement;
break;
default:
statement;
}

উদাহরণ ১:

<?php
$action = "ADD";
switch ($action) {
case "ADD":
echo "Perform actions for adding.";
break;
case "MODIFY":
echo "Perform actions for modifying.";
break;
case "DELETE":
echo "Perform actions for deleting.";
break;
}
?>

উদাহরণ ২:

<?php
$day= date('w');
//echo $day;
switch ($day) {
   case 1:
           echo "Today is Monday";
           break;
   case 2:
            echo "Today is Tuesday";
           break;
   case 3:
            echo "Today is Wednesday";
           break;
   case 4:
             echo "Today is Thursday";
           break;
   case 5:
            echo "Today is Friday";
           break;
   case 6:
            echo "Today is Saturday";
           break;
   default:
            echo "Today is Sunday";
           break;
}
?>

PHP তে elseif এবং switch statement এর মধ্যে কোনো পার্থক্য আছে?

হাঁ PHP তে elseif এবং switch statement এর মধ্যে বেশ কিছু পার্থক্য বিদ্যমান আছে :

switch VS else if/elseif
switch ক্রমান্বয়ে সবগুলো condition বা শর্ত চেক করার পরিবর্তে যেই কন্ডিশন মিলে তা লাফ দিয়ে execute করে। অন্য কোনো condition চেক করেনা। আর else if/elseif statement ক্রমান্বয়ে সবগুলো condition বা শর্ত চেক করতে থাকে এবং প্রথম যেই শর্ত পূরণ হবে , তার প্রোগ্রাম execute করার সুযোগ দেয়। এবং পরবর্তী condition গুলো আর চেক করেনা।
switch সবসময় (equaltiy) সমান কিনা তা দেখে elseif/else if সবসময় boolean true কিনা তা দেখে
elseif এর তুলনায় switch faster switchএর তুলনায় elseif slower
অনেক গুলো চয়েজ এর ক্ষেত্রে switch statement তুলনামূলক অনেক বেশি compact বা সহজবোদ্ধ। অনেক গুলো চয়েজ এর ক্ষেত্রে elseif তুলনামূলক কঠিন।
switch case এ break statement ব্যবহার করা অপরিহার্য else if/elseif statement এ break statement ব্যবহার করা লাগেনা।
switch এর expression এর মধ্যে ব্যবহৃত variable এর value বা মান শুধু integer data type সাপোর্ট করে। elseif/else if এর expression এর মধ্যে ব্যবহৃত variable এর value বা মান integer এবং character উভয় data type সাপোর্ট করে।
switch statement একাধিক value এর range চেক করতে পারেনা elseif/else if statement এ একাধিক value এর range চেক করতে পারে
switch statement এ মাল্টিপল চয়েজ এর ক্ষেত্রে শুধু মাত্র single expression ব্যবহার করতে পারবেন। elseif/else if statement এ প্রত্যেকটি চয়েজ এর ক্ষেত্রে আলাদা expression ব্যবহার করতে পারবেন।

Leave A Reply

Your email address will not be published. Required fields are marked *