আমরা প্রতিদিনই কাজের মাঝে কিছু কথা এভাবে বলি, যে “যদি এটা হয়, তবে ওটা কর, নয়ত ঐটা করবে”, বলি না? পিএইচপি এবং অন্য যেকোন প্রোগ্রামিং ল্যাংগুয়েজেও কোনো একটা ঘটনা বা ফলাফলের উপরে ভিত্তি করে এরকম সিদ্ধান্ত নেয়া লাগে। একেই বলে লজিক। এবং যে ঘটনার প্রেক্ষিতে আমরা সিদ্ধান্ত নেই, তাকে বলে কন্ডিশন বা লজিক্যাল এক্সপ্রেশন :) । চলুন দেখা যাক আমরা কিভাবে পিএইচপিতে লজিক ব্যবহার করি

পিএইচপি তে দুই ধরনের লজিক্যাল ব্লক লেখা যায়। একটা হল if-else দিয়ে, আরেকটা হল switch-case দিয়ে। আজকের আর্টিকেলে আমরা এই if-else ব্লকের উদাহরন দেখব, switch-case পরের আর্টিকেলে। আমরা তো বেসিক এরিথমেটিক অপারেশন শিখেছিই তাই না? ঐ যে, যোগ বিয়োগ গুন ভাগের কথা বলছিলাম। চলুন এবার লজিক ব্যবহার করে আমরা ঠিক করি কোন একটা সংখ্যা কি জোড় (even) না বেজোড় (odd)। তার আগে মনে মনে ভেবে নিন কিভাবে আসলে বোঝা যায় যে কোন একটি সংখ্যা জোড় না বেজোড়? যদি সংখ্যাটিকে ২ দিয়ে ভাগ করলে অবশিষ্ট ০ হয়, তাহলে জোড়। নয়ত বেজোড়।

<?php
//filename: /home/hasin/www/logic1.php
$number = 11;
if ( ($number%2) == 1)
{
    echo "{$number} is odd number";
}
else
{
    echo "{$number} is even number";
}
?>

এবার আমরা যদি উপরের কোড রান করাই (ব্রাউজারে http://localhost/logic1.php) তাহলে আউটপুট হিসেবে দেখব “11 is odd number”.কিভাবে হল এটা? চলুন কিছুক্ষন কোড বুঝি

লাইন # ৪ এ আমরা আমাদের লজিক্যাল ব্লক শুরু করেছি। এখানে ($number%2)== 1এটা হল আমাদের কন্ডিশন বা লজিক্যাল এক্সপ্রেশন। আর == হল একটা লজিক্যাল অপারেটর। এই অপারেটর দিয়ে বাম পাশের অংশ ডান পাশের অংশের সমান কিনা তা চেক করা হয়। এধরেন আরো কয়েকটি অপারেটর রয়েছে যা আমরা নিচে উল্লেখ করেছি। পিএইচপি তে পুরো লজিক্যাল এক্সপ্রেশন ফার্স্ট ব্র‍্যাকেটের মাঝে রাখতে হয়।

লাইন # ৫ এ আমরা একটি সেকেন্ড ব্র‍্যাকেট দিয়ে স্কোপ শুরু করি। একটি সেকেন্ড ব্র‍্যাকেট শুরু থেকে সেকেন্ড ব্র‍্যাকেট শেষ না হওয়া পর্যন্ত একই স্কোপে থাকে। অর্থাৎ লাইন # ৫ থেকে লাইন # ৭ পর্যন্ত একই স্কোপের মাঝে পড়ে। আমাদের এই কোডে লাইন নম্বর ৪ এর if এর কন্ডিশন যদি সত্য হয়, তাহলে লাইন # ৫ থেকে লাইন # ৭ পর্যন্ত চলবে (যেহেতু একই স্কোপের অধীনে)।

লাইন # ৬ এ আমরা echo স্টেটমেন্ট দিয়ে আউটপুট প্রিন্ট করেছি।

লাইন # ৭ এ if ব্লকের স্কোপ শেষ করা হয়েছে সেকেন্ড ব্র‍্যাকেট দিয়ে।

লাইন # ৮ এ আমরা else ব্লক লিখেছি। if ব্লকের কন্ডিশন যদি মিথ্যা হয় তাহলে এই ব্লকটি রান করবে।

লাইন # ৯ – লাইন # ১১ এখানেও আমরা আগের মত সেকেন্ড ব্র‍্যাকেট দিয়ে স্কোপ শুরু করেছি, ফলাফল প্রিন্ট করেছি এবং স্কোপ শেষ করেছি

ব্যস, আমাদের লজিক বোঝা শেষ :) । আরে আরেকটু দাঁড়ান, আর অল্প একটু বাকি আছে। উপরের কোডে আমরা দেখেছি মাত্র একটি কন্ডিশন চেক করতে। কিন্তু আমাদের যদি অনেকগুলো কন্ডিশন চেক করতে হয়, তাহলে? নিচের কোড ব্লকটি দেখুন।

<?php
//filename: /home/hasin/www/logic2.php
$planet = "Earth";
if ( $planet == "Mars")
{
    echo "Welcome to Earth, Mr Green";
}
else if($planet == "Jupiter")
{
    echo "Wow, I've never seen anyone from Jupiter before. How is that?";
}
else if($planet == "Saturn")
{
    echo "I really love the belt around your planet";
}
else
{
    echo "It's nice to meet you";
}
?>

সহজ না? চলুন এবার আমরা দেখে নেই অন্যান্য লজিক্যাল অপারেটর গুলোর কি কাজ

> এটা চেক করে যে বাম পাশের অংশ ডান পাশের অংশের চেয়ে বড় কিনা
< এটা চেক করে যে বাম পাশের অংশ ডান পাশের অংশের চেয়ে ছোট কিনা
>= এটা চেক করে যে বাম পাশের অংশ ডান পাশের অংশের সমান বা বড় কিনা
<= এটা চেক করে যে বাম পাশের অংশ ডান পাশের অংশের সমান বা ছোট কিনা
!= এটা চেক করে যে বাম পাশের অংশ এবং ডান পাশের অংশ অসমান কিনা
== এটা চেক করে যে বাম পাশের অংশ ডান পাশের অংশের সমান কিনা

এই হল মোটামুটি পিএইচপিতে লজিকের সাতকাহন :) পরের আর্টিকেলে দেখাব কিভাবে switch-case ব্যবহার করতে হয়

  • Share/Bookmark