কম্পিউটার টিউটোরিয়াল

PHP switch স্টেটমেন্ট (switch Statement)


পরিচিতি

যদি কোনো প্রোগ্রামে একটি এক্সপ্রেশনের পরিবর্তনশীল মান অনুযায়ী ভিন্ন প্রসেস করার জন্য একাধিক if স্টেটমেন্ট লাগে, তবে প্রতিটি if-এর নিজস্ব কার্লি ব্র্যাকেট থাকায় প্রোগ্রাম গোলমাল হয়ে যায়। এই সমস্যা সমাধানে switch-case কনস্ট্রাক্ট প্রোগ্রামকে কম্প্যাক্ট এবং রিডেবল করে। switch কনস্ট্রাক্ট দিয়ে একই ভেরিয়েবল (বা এক্সপ্রেশন) অনেক ভিন্ন মানের সাথে তুলনা করা যায় এবং কোন মান সেটির সাথে মিলে যাওয়ার ওপর নির্ভর করে ভিন্ন কোড এক্সিকিউট করা যায়।

সিনট্যাক্স

switch (expr) {
    case val1:
        code to be executed if expr=val1;
        break;
    case val2:
        code to be executed if expr=val2;
        break;
    ...
    ...
    default:
        code to be executed if expr is not equal to any of above values;
}

প্রতিটি case ব্লকের পরে break স্টেটমেন্ট দেওয়া জরুরি যাতে প্রোগ্রাম ফ্লো বাকি case-গুলোতে ফল-থ্রু (fall through) না করে।

নিচের উদাহরণে, ইউজার থেকে দুটি সংখ্যা এবং अर्थমেটিক অপারেশনের টাইপ (১/২/৩/৪ যোগ/বিয়োগ/গুন/ভাগ) ইনপুট নেওয়া হয়েছে—

উদাহরণ

<?php
$first=(int)readline("enter a number");
$second=(int)readline("enter another number");
$x=readline("enter 1/2/3/4 for add/subtract/multiply/divide");
$result=0;
switch($x){
    case 1: echo $first+$second; break;
    case 2: echo $first-$second; break;
    case 3: echo $first*$second; break;
    case 4: echo $first/$second; break;
    default: echo "Incorrect input";
}
?>

আউটপুট

এটি নিচের ফলাফল দেবে—

Incorrect input

default কীওয়ার্ড ব্যবহার করা হয় সвиচ এক্সপ্রেশন কোনো স্পেসিফিক case-র সাথে না মিললে এক্সিকিউট হওয়া স্টেটমেন্ট ব্লক নির্দিষ্ট করতে।

যদি কোনো নির্দিষ্ট case ব্লক খালি থাকে, তবে সেটি সিম্পলি নেক্সট case-এ ফ্লো পাস করে।

উদাহরণ

<?php
$x=(int)readline("enter a number");
switch($x){
    case 1:
    case 2: echo "x is less than 3"; break;
    case 3: echo "x is equal to 3"; break;
    case 4: echo "x is greater than 3";break;
    default: echo "x is beyound 1 to 4";
}
?>

আউটপুট

এটি নিচের ফলাফল দেবে—

x is beyound 1 to 4

স্ট্রিং মানও switch এক্সপ্রেশনের সাথে তুলনা করতে ব্যবহার করা যায়—

উদাহরণ

<?php
$x=readline("enter a something..");
switch($x){
    case "India": echo "you entered India"; break;
    case "USA": echo "You typed USA"; break;
    case "Mumbai": echo "you entered Mumbai";break;
    default: echo "you entered something else";
}
?>

আউটপুট

এটি নিচের ফলাফল দেবে—

you entered something else

  1. জাভাস্ক্রিপ্ট Switch স্টেটমেন্টে Return স্টেটমেন্ট ব্যবহার

  2. MySQL CASE স্টেটমেন্ট নাকি PHP if স্টেটমেন্ট — কোনটি দ্রুত?

  3. JSP পেজে switch স্টেটমেন্ট লিখার নিয়ম

  4. C ভাষায় স্যুইচ স্টেটমেন্ট ব্যাখ্যা