এর আগের পর্বে আমরা দেখেছি কিভাবে if-elseif-else দিয়ে লজিকাল ব্লক লিখতে হয়। এই পর্বে চলুন দেখি স্যুইচ-কেস এর ব্যবহার। আমরা আগের জোড়-বেজোড় বের করার স্ক্রিপ্টটুকুই আবার নতুন করে switch-case দিয়ে লিখব।

<?php
//filename: /home/hasin/www/logic3.php
$number = 11;
switch ($number%2)
{
    case 0:
        echo "{$number} is even number";
        break;
    default:
        echo "{$number} is odd number";
}
?>

এই কোডটুকু রান করালে আমরা দেখব যে আউটপুট আসবে “11 is odd number” । কিভাবে কাজ করছে তা বোঝার জন্য চলুন কোডে একবার নজর দেই

লাইন # ৪ এ আমরা স্যুইচ কেস শুরু করেছি। ইফ-এলস ব্লকের মত এখানেও লজিকাল এক্সপ্রেশন বা কন্ডিশন রাখা হয়েছে ফার্স্ট ব্র‍্যাকেটের মধ্যে। আর স্যুইচ লেখার পরেই স্কোপ শুরু করতে হয় সেকেন্ড ব্র‍্যাকেট দিয়ে (লাইন # ৫) এবং স্কোপ শেষ করতে হয় আবার সেকেন্ড ব্র‍্যাকেট দিয়ে (লাইন # ১১)

স্যুইচ কেসে প্রতিটি কন্ডিশন চেক করতে হয় case লিখে, এবং কন্ডিশনের শেষে কোলন দিয়ে। লাইন # ৬ এ আমরা চেক করেছি যে ভাগফলের অবশিষ্টের মান ০ কিনা।

লাইন # ৭ এ আমরা আউটপুট প্রিন্ট করেছি

লাইন # ৮ এ আমরা পিএইচপি কে বলছি যে যদি এই কেস টি সঠিক হয়, তাহলে আর কিছু চেক করার দরকার নাই, স্যুইচ ব্লক থেকে বের হয়ে যাও। আমরা যদি প্রতিটি কেসে break না লিখি তাহলে পিএইচপি একটি কেস সঠিক হওয়ার পরেও পরবর্তী কেস চেক করবে। তা না করার জন্যই আমরা break লিখেছি।

if ব্লকে যেমন কোন কন্ডিশন না মিললে else ব্লক রান করে, switch-case এ default ঠিক একই কাজ করে। ডিফল্ট কেসে break লেখার কোন দরকার নেই।

চলুন আমরা একটু কমপ্লেক্স একটা উদাহরন দেখি স্যুইচ কেসের। নিচের স্ক্রিপ্টে আমরা কোন একটি বছর লিপ-ইয়ার কিনা তা চেক করা হবে। তার আগে জেনে নিন লিপ ইয়ার ক্যালকুলেট করার জন্য একটি অ্যালগোরিদম আছে। আর তা হল নিচের মত

যদি কোন বছর ৪০০ দিয়ে ভাগ করলে অবশিষ্ট ০ হয়, তাহলে লিপ ইয়ার
নয়ত যদি ১০০ দিয়ে ভাগ করলে অবশিষ্ট ০ হয়, তাহলে নন-লিপ-ইয়ার
নয়ত যদি ৪ দিয়ে ভাগ করলে অবশিষ্ট ০ হয়, তাহলে লিপ ইয়ার
নয়ত নন লিপ ইয়ার

তো চলুন, এবার আমরা পিএইচপিতে এটা লিখে ফেলি

<?php
//filename: /home/hasin/www/logic4.php
$year = 2004;
switch($year)
{
    case ($year % 400 == 0):
        echo "{$year} is a leap Year";
        break;
    case ($year % 100 == 0):
        echo "{$year} is not a leap Year";
        break;
    case ($year % 4 == 0):
        echo "{$year} is a leap Year";
        break;
    default:
        echo "{$year} is not a leap Year";
}
?>

একদম সহজ, তাই না? পরবর্তী আর্টিকেলে আমরা দেখব কিভাবে পিএইচপিতে লুপ ব্যবহার করতে হয়।

  • Share/Bookmark