বন্ধুরা কেমন আছেন সবাই। পিএইচপি এর ১৬ তম পর্বে আপনাদের স্বাগত জানাই। পিএইচপি টিউটোরিয়ালের গতপর্বে আমরা আলোচনা করেছিলাম if...else স্টেটমেন্ট সম্পর্কে। জানতে পেরেছি এর ব্যবহার। বন্ধুরা, আজ আরেকটি বিষয় নিয়ে আলোচনা করব আর তা হল switch স্টেটমেন্ট। আসুন শুরু করা যাক।
মোটামুটিভাবে বলা যায়, if...else স্টেটমেন্টের বিকল্প হল switch স্টেটমেন্ট। তবে switch স্টেটমেন্টে এক্সিকিউট করার সময় অপেক্ষাকৃত কিছুটা বেশি,অবশ্য তা চোখে পড়ার মত নয়।
আসুন একটি উদাহরনের মাধ্যমে ব্যাপারটা বোঝার চেষ্টা করি।
<html> <body> <?php $food=bread; switch($food) {case "rice": echo "it is our main food"; break; case "bread": echo "it is good for health"; break; default : echo "all is well"; break; } ?> </body> </html>
এখানে $food=bread; এর মাধ্যমে $food নামের ভেরিয়েবলের মান নির্ধারণ করা হয়েছে bread.
switch($food) এর মাধ্যমে $food ভেরিয়েবলকে switch() ফাংশনের মধ্যে দেয়া হয়েছা। উল্লেখ্য switch() ফাংশনের কাজ হল এতে ইনপুট করা যেকোনো ডাটার মান চেক করে দেখা। এতে $food ভেরিয়েবল দেয়ার ফলে এটি এই ভেরিয়েবলের মান চেক করে দেখবে।
চেক করে প্রাপ্ত মান যদি switch() ফাংশনের পরের লাইনে {} এর মধ্যে লেখা কেসগুলোর কোনোটির সাথে মিলে যায় তবে ঐ কেসের অধীনে যে সকল কমান্ড দেয়া আছে তা কাজ করবে।
যেমন এক্ষেত্রে কাজ করছে
case "bread": echo "it is good for health"; break;
কারণ
$food="bread"
ফলে ব্রাউজারে নিচের মত পাওয়া যায়
উপরের কোডে case "bread" কথাটির অর্থ হল switch($food) এর মাধ্যমে $food ভেরিয়েবলে সংরক্ষিত ডাটার মান চেক করে দেখা হচ্ছে তা "bread" কিনা, চেক করে মিল পাওয়া গেলে যেনো ব্রাউজারে it is good for health লেখাটি প্রদর্শিত হয়। এবং হলও তাই, কারণ $food=bread
এরপরে break; কথাটি লেখা হয়েছে যার মাধ্যমে ক্রিয়াধীন ফাংশন(এক্ষেত্রে switch() ফাংশন) থেকে বের হয়ে আসতে বলা হচ্ছে কারণ তা না হলে পরবর্তী case গুলোও চেক করে দেখতে থাকবে এবং পরে default case এর অধীনের কমান্ডও কাজ করবে। এ থেকে বিরত থাকার জন্য break ব্যবহার করা হয়েছে।
default : echo "all is well"; break;
এর অর্থ যদি কোনো কেস এর সাথে না মিলে তবে এই কোডটি যেনো কাজ করে।
বন্ধুরা, এটিই মূলত switch স্টেটমেন্ট। আশা করি, চর্চার মাধ্যমে ভালোভাবে আয়ত্ত করতে পারবেন। ভালো থাকবেন সবাই। ধন্যবাদ।
আমি MITHU। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 14 বছর 1 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 88 টি টিউন ও 1232 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 3 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।