PHP अंकगणित, असाइनमेंट, तुलना और कई अन्य ऑपरेशन्स करने के लिए अविश्वसनीय ऑपरेटर्स प्रदान करता है... इस लेख में, लॉजिकल ऑपरेटर्स "&&" और "AND" पर अधिक महत्व दिया जाएगा और अध्ययन करेंगे कि उन्हें उनकी प्रीसिडेंस के आधार पर कैसे उपयोग किया जा सकता है। लॉजिकल ऑपरेटर्स "&&" और "AND" ट्रू-या-फाल्स परिणाम उत्पन्न करते हैं, और इसलिए इन्हें बूलियन ऑपरेटर्स के रूप में भी जाना जाता है।
गहराई में जाने से पहले आइए जानें कि "AND" ऑपरेटर क्या है? "AND" ऑपरेटर तभी ट्रू लौटाता है जब दोनों शर्तें ट्रू हों। आइए "AND" ऑपरेटर को प्रदर्शित करने के लिए एक उदाहरण लें।
उदाहरण
<?php
$val1 = 20;
$val2 = 50;
if ($val1 == 20 and $val2== 50)
echo "True";
else
echo "False";
?>
आउटपुट:
True
व्याख्या:
चूंकि वेरिएबल $val1 = 20 और $val2 = 50, कंडीशन $val1 == 20 ट्रू मूल्यांकन करती है और $val2 == 50 भी ट्रू मूल्यांकन करती है। इसलिए, दोनों ऑपरेंड्स ट्रू हैं, परिणाम भी ट्रू होगा। आइए एक और उदाहरण पर चर्चा करें।
उदाहरण 2:
<?php
$a = 30;
$b = 50;
if ($a == 30 and $b == 10)
echo "True";
else
echo "False";
?>
आउटपुट:
False
व्याख्या:
चूंकि हमने वेरिएबल $a = 30 और $b = 50 घोषित किया है, कंडीशन $a == 30 ट्रू मूल्यांकन करती है लेकिन जब इनपुट $b = 50 घोषणा में है और कंडीशन में $b == 10 जो फाल्स लौटाता है, तो AND ऑपरेशन परिणाम फाल्स होगा।
अब "&&" ऑपरेटर पर आते हैं, यह भी "AND" ऑपरेटर के समान काम करता है, यह ट्रू लौटाता है यदि एक्सप्रेशन में दोनों शर्तें/ऑपरेंड्स ट्रू हैं। अब आइए नीचे दिए गए उदाहरण पर एक नज़र डालें जो "&&" ऑपरेटर्स को इम्प्लीमेंट करता है।
उदाहरण:
<?php
$val1 = 25;
$val2 = 5;
if ($val1 == 25 && pow($val2, 2) == $val1)
echo "True";
else
echo "False";
?>
आउटपुट:
True
व्याख्या:
चूंकि वेरिएबल $val1 = 25 और $val2 = 5, कंडीशन $val1 == 25 ट्रू मूल्यांकन करती है और pow($val2, 2) == $val1 भी ट्रू मूल्यांकन करती है क्योंकि $val2= 5 की पावर 2 है 25 जो $val1 के बराबर है। इसलिए, '$val1 == 25&& pow($val2, 2) == $val1' ट्रू मूल्यांकन करता है क्योंकि AND लॉजिक कहता है कि केवल जब दोनों ऑपरेंड्स ट्रू हों, AND ऑपरेशन परिणाम ट्रू होता है।
नोट:
आइए एक और केस लें, यदि हम इनपुट $val2 = 20 घोषित करते हैं, तो कंडीशन pow($val2, 2) == $val1 का परिणाम फाल्स होगा, इसलिए AND ऑपरेशन परिणाम फाल्स होगा।
अब उनकी प्रीसिडेंस के संदर्भ में "AND" और "&&" ऑपरेटर के बीच तुलना पर चर्चा करते हैं। ऑपरेशन्स एक एक्सप्रेशन में ऑपरेटर्स की प्रीसिडेंस के अनुसार किए जाते हैं। '&&' ऑपरेटर की प्राथमिकता उच्च है और "AND" ऑपरेटर की प्राथमिकता कम है। आइए नीचे दिए गए उदाहरण के माध्यम से उपरोक्त अंतर का अध्ययन करें।
<?php
$a =10;
$b = NULL;
$val = $a && $b;
echo ($val ? 'TRUE' : 'FALSE'),"\n";
$val = $a and $b;
echo ($val ? 'TRUE' : 'FALSE');
?>
आउटपुट:
FALSE TRUE
व्याख्या:
दोनों ऑपरेटर्स का परिणाम अलग होता है जब भी ऑपरेंड्स समान होते हैं। पहला एक्सप्रेशन FALSE को व्यक्त करता है जबकि दूसरा एक्सप्रेशन TRUE को व्यक्त करता है इस तथ्य के बावजूद कि दोनों समान ऑपरेशन का उपयोग कर रहे हैं।
पहला एक्सप्रेशन, $val = $a && $b; FALSE को व्यक्त करता है क्योंकि पहले "&&" ऑपरेशन किया जाता है, फिर परिणाम वेरिएबल $val को असाइन किया जाता है क्योंकि && ऑपरेटर की प्राथमिकता "=" ऑपरेटर की प्राथमिकता से अधिक है।
दूसरा एक्सप्रेशन, $bool = $a and $b; TRUE को मूल्यांकन करता है क्योंकि ऑपरेटर "and" की प्राथमिकता ऑपरेटर "=" से कम है इसलिए वेरिएबल $a = 10 का मान जो = के दाईं ओर है $val को असाइन किया जाता है, इसलिए $val 10 रखता है और फिर "and" ऑपरेशन आंतरिक रूप से किया जाता है लेकिन असाइन नहीं किया जाता, इसलिए $val अब TRUE रखता है।
तो स्पष्ट करने के लिए, "AND" ऑपरेटर और "&&" ऑपरेटर के बीच मुख्य अंतर उनकी प्रीसिडेंस है फिर भी दोनों समान गतिविधि करते हैं।