Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> PHP

PHP में && और AND ऑपरेटर की तुलना

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" ऑपरेटर और "&&" ऑपरेटर के बीच मुख्य अंतर उनकी प्रीसिडेंस है फिर भी दोनों समान गतिविधि करते हैं।

  1. - PHP में एब्स्ट्रैक्शन और एनकैप्सुलेशन के बीच अंतर समझाया गया

    PHP5 ने पिछले संस्करण के साथ ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग दृष्टिकोण जोड़ा, जिसका उपयोग रियल-टाइम PHP एप्लिकेशन में कोड को पुन: प्रयोज्य बनाने के लिए किया जाता है। ऑब्जेक्ट-ओरिएंटेड मॉडल की कुछ अवधारणाएं हैं: क्लास, ऑब्जेक्ट, एनकैप्सुलेशन, पॉलीमॉर्फिज्म, एब्स्ट्रैक्ट और फाइनल क्लासेज, और मेथड्स, इ

  1. - C# और .NET फ्रेमवर्क की तुलना

    अक्सर भ्रम होता है: C# एक प्रोग्रामिंग भाषा है, जबकि .NET एक सॉफ्टवेयर फ्रेमवर्क है। .NET फ्रेमवर्क माइक्रोसॉफ्ट द्वारा विकसित सॉफ्टवेयर डेवलपमेंट प्लेटफॉर्म। CLR (Common Language Runtime): वर्चुअल मशीन जो कोड निष्पादित करती है (JIT कंपाइलेशन, गार्बेज कलेक्शन, एक्सेप्शन हैंडलिंग)। BCL (Base Class

  1. - पायथन में == और is ऑपरेटर के बीच अंतर

    समस्या विवरण is और == ऑपरेटर ज्यादातर समान हैं लेकिन वे समान नहीं हैं। is ऑपरेटर परिभाषित करता है कि क्या दोनों वेरिएबल एक ही ऑब्जेक्ट को इंगित करते हैं जबकि == चिन्ह जांचता है कि दो वेरिएबल के मान समान हैं या नहीं। उदाहरण कोड # पायथन प्रोग्राम: == और is ऑपरेटर के बीच अंतर दिखाने के लिए # [] एक खाल