১০.৯ লজিক্যাল অপারেটর ( Logical Operator)

পি এইচ পি প্রোগ্রামিং এ লজিক্যাল অপারেটর (Logical Operator) ব্যবহার করা হয়, সাধারণত ভেরিয়েবল বা মান এর মধ্যে লজিক্যাল অপারেশন সংগঠনের মাধ্যমে দুইটি বুলিয়ান মান true অথবা false এর কোন একটি ফলাফল হিসেবে গ্রহণ করে এবং ফলাফল এর উপর ভিত্তি করে পরবর্তী অপারেশন সম্পাদনের জন্য। কন্ডিশনাল এবং লুপিং স্টেটমেন্ট তৈরিতে লজিক্যাল অপারেটর ( Logical Operator) গুরুত্বপূর্ণ ভূমিকা পালন করে।

অপারেটরঅপারেটরের নামউদাহরণফলাফল
!লজিক্যাল নট (NOT)!$a$a এর মান false হলে,!$a=true হবে। অর্থাৎ ভেরিয়েবলের বুলিয়ান মান উল্টা করতে, লজিক্যাল নট (NOT) অপারেটর ব্যবহার করা হয়।
&&লজিক্যাল এন্ড (AND) $a && $b$a এবং $b উভয় এর মান true হলে, $a && $b এর ফলাফল true হবে।
||লজিক্যাল অর (OR) $a || $b$a এবং $b উভয় এর এর মধ্যে নূন্যতম একটি ভেরিয়েবলের মান true হলে, $a || $b এর ফলাফল true হবে।
andলজিক্যাল এন্ড (AND) $a and $b$a এবং $b উভয় এর মান true হলে, $a && $b এর ফলাফল true হবে।
xorলজিক্যাল এক্সক্লুসিভ অর (XOR) $a xor $b$a এবং $b উভয় এর এর মধ্যে যে কোন একটি ভেরিয়েবলের মান true হলে, $a || $b এর ফলাফল true হবে। কিন্তু উভয় true বা উভয় false হলে ফলাফল false হবে।
orলজিক্যাল অর (OR) $a or $b$a এবং $b উভয় এর এর মধ্যে নূন্যতম একটি ভেরিয়েবলের মান true হলে, $a || $b এর ফলাফল true হবে।

এখানে উল্লেখ্য যে পি এইচ পি তে দুই ধরণের লজিক্যাল এন্ড (AND) এবং দুই ধরণের লজিক্যাল অর (OR) অপারেটর ব্যবহার করা হয়। কার্যাবলীর দিক থেকে উভয় অপারেটরই একই ধরণের কাজ করলেও অপারেটর সমূহের ক্রম (Operator Precedence) এর পার্থক্য রয়েছে।

অনুশীলন প্রজেক্ট

<html>
<head>
<title> www.tutohost.com</title>
<style>
body{background: #00cc99 ; color: #000000;}
</style>

</head>
<body>
<?php
$x=false;
echo “X = “.$x;
echo “<br />”;
$y=!$x;
echo “Y = “.$y;
echo “<br />”;
echo “<br />”;
?>
<?php
$a=true;
$b=true;
echo “A = “.$a;
echo “<br />”;
echo “B = “.$b;
echo “<br />”;
if($a&&$b)
{echo ” Result of A && B is True . <br />”;}
else {echo ” Result of A && B is False .<br />”;}
echo “<br />”;
?>
<?php
$c=true;
$d=false;
echo “C = “.$c;
echo “<br />”;
echo “D = “.$d;
echo “<br />”;
if($c||$d)
{echo ” Result of C||D is True . <br />”;}
else {echo ” Result of C||D is False .<br />”;}
echo “<br />”;
?>
<?php
$a=true;
$b=true;
echo “A = “.$a;
echo “<br />”;
echo “B = “.$b;
echo “<br />”;
if($a and $b)
{echo ” Result of A and B is True . <br />”;}
else {echo ” Result of A and B is False .<br />”;}
echo “<br />”;
?>
<?php
$e=true;
$f=false;
echo “E = “.$e;
echo “<br />”;
echo “F = “.$f;
echo “<br />”;
if($e xor $f)
{echo ” Result of E xor F is True . <br />”;}
else {echo ” Result of E xor F is False .<br />”;}
echo “<br />”;
?>
<?php
$c=true;
$d=false;
echo “C = “.$c;
echo “<br />”;
echo “D = “.$d;
echo “<br />”;
if($c or $d)
{echo ” Result of C or D is True . <br />”;}
else {echo ” Result of C or D is False .<br />”;}
echo “<br />”;
?>
</body>

</html>

উপরের কোডটুকু একটা nptepad এ লেখার পর File মেনুতে ক্লিক করে Save as এ ক্লিক করার পর File name এ index.php দিয়ে Save as type এ All files সিলেক্ট করে Save এ ক্লিক করে Save করতে হবে। index.php ফাইলটিকে C:\xampp\htdocs অর্থাৎ htdocs ফোল্ডারের মধ্যে রাখতে হবে। এ কাজটিকে সহজে করার জন্য htdocs ফোল্ডারটিকে Shortcut করে Desktop এ রেখে দেয়া যেতে পারে। XAMPP Running অবস্থায় থাকলে index.php  ফাইলটি ব্রাউজারে দেখানোর জন্য এড্রেস বারে লেখতে হবে http://localhost/index.php । আর যদি htdocs ফোল্ডারের মধ্যে কোন নতুন ফোল্ডার যেমন site নামে একটা ফোল্ডার তৈরি করে তার মধ্যে index.php ফাইলটিকে রাখা হয় তাহলে ব্রাউজারের এড্রেস বারে লেখতে হবে http://localhost/site/index.php । তাহলে ব্রাউজারে নিচের ছবির মত দেখাবে।

  • উপরের প্রোগ্রামটিতে $x=false; এর মাধ্যমে একটি ভেরিয়েবলের মান false নির্ধারণ করা হয়েছে। $y=!$x; এর মাধ্যমে লজিক্যাল নট (NOT) অপারেশন সম্পাদন করা হয়েছে। $x কে ব্রাউজারে প্রদর্শন করলে ব্রাউজারে false এর জন্য একটা ফাঁকা স্থান তৈরি হবে। $y কে ব্রাউজারে প্রদর্শন করলে ব্রাউজারে true এর সমতুল্য 1 প্রদর্শিত হবে।
  • $a=true; এবং $b=true; তাই $a&&$b এর ফলাফল true হওয়ায় ব্রাউজারে Result of A && B is True . প্রদর্শিত হবে।
  • $a && $b এবং $a and $b একই কাজ করে তবে এখানে আলাদা অপারেটর ব্যবহার করা হয়েছে।
  • $c=true; এবং $d=false; তাই $c||$d এর ফলাফল true হওয়ায় ব্রাউজারে Result of C||D is True . প্রদর্শিত হবে।
  • $a || $b এবং $a or $b একই কাজ করে তবে এখানে আলাদা অপারেটর ব্যবহার করা হয়েছে।
  • $e=true; এবং $f=false; তাই $e xor $f এর ফলাফল true হওয়ায় ব্রাউজারে Result of E xor F is True . প্রদর্শিত হবে।