php - "===" का क्या अर्थ है?




operators comparison-operators (7)

ट्रिपल बराबर बराबर होता है === यह देखने के लिए जांच करता है कि दो चर बराबर हैं और एक ही प्रकार के हैं।

मैंने किसी को PHP ऑपरेटर === का उपयोग करके देखा है जिसे मैं समझ नहीं सकता। मैंने इसे एक समारोह के साथ आजमाया है, और यह पागल तरीके से मेल खाता है।

इस ऑपरेटर की परिभाषा क्या है? मैं इसे PHP ऑपरेटरों की घोषणा में भी नहीं ढूंढ सकता।


$a === $b     (Identical)      

सही अगर $a $b बराबर है, और वे एक ही प्रकार के हैं। (PHP 4 में पेश किया गया)

PHP डॉक्स


PHP के लिए, शून्य के कई अलग-अलग अर्थ हो सकते हैं

  1. यह एक बूलियन झूठा हो सकता है
  2. यह एक शून्य मूल्य हो सकता है
  3. यह वास्तव में शून्य हो सकता है

तो === यह सुनिश्चित करने के लिए जोड़ा गया है कि प्रकार और मान समान हैं।


PHP में आप == ऑपरेटर या === ऑपरेटर का उपयोग करके दो मानों की तुलना कर सकते हैं। अंतर यह है:

PHP एक गतिशील, व्याख्या की गई भाषा है जो डेटा प्रकारों पर सख्त नहीं है। इसका मतलब यह है कि जब भी आवश्यक हो, भाषा स्वयं डेटा प्रकारों को बदलने की कोशिश करेगी।

echo 4 + "2"; // output is 6

आउटपुट पूर्णांक मान 6 है, क्योंकि + PHP में संख्यात्मक जोड़ ऑपरेटर है, इसलिए यदि आप इसे अन्य डेटा प्रकारों के साथ ऑपरेटरों को प्रदान करते हैं, तो PHP पहले उन्हें उनके उचित प्रकार में परिवर्तित कर देगा ("2" 2 में परिवर्तित हो जाएगा) और फिर ऑपरेशन करें।

यदि आप दो ऑपरेंड के साथ तुलना ऑपरेटर के रूप में == का उपयोग करते हैं जो विभिन्न डेटा प्रकारों में हो सकता है, तो PHP दूसरे ऑपरेंड प्रकार को पहले में परिवर्तित कर देगा। इसलिए:

4 == "4" // सच

PHP "4" से 4 में परिवर्तित होता है, और फिर मानों की तुलना करता है। इस मामले में, परिणाम सच होगा।

यदि आप तुलना ऑपरेटर के रूप में === का उपयोग करते हैं, तो PHP किसी भी डेटा प्रकार को बदलने की कोशिश नहीं करेगा। तो यदि ऑपरेंड के प्रकार अलग हैं, तो वे समान नहीं हैं।

4 === "4" // झूठी


आप इस ऑपरेटर को कई गतिशील रूप से टाइप की गई भाषाओं में देखेंगे, न केवल PHP।

== जो कुछ भी उससे निपट रहा है उसे बदलने की कोशिश करेगा, जिसकी तुलना इसकी तुलना कर सकती है।

=== कड़ाई से प्रकार और मूल्य की तुलना करेगा।

किसी भी गतिशील रूप से टाइप की गई भाषा में आपको == से सावधान रहना होगा, आप कुछ रोचक बग प्राप्त कर सकते हैं।

टर्नरी === कम सुविधाजनक है, लेकिन यह सुरक्षित है। तुलना के लिए आपको हमेशा कुछ अतिरिक्त विचार देना चाहिए कि यह === या == होना चाहिए या नहीं


http://www.php.net/ternary

$ a == $ b बराबर सत्य अगर $ एक $ बी के बराबर है, (True == -1) को छोड़कर जो अभी भी सत्य है।

$ a === $ b समान सत्य यदि $ ए $ बी के बराबर है, और वे एक ही प्रकार के हैं।

> "5" == 5;
True
> "5" === 5;
False

PHP में डबल और ट्रिपल बराबर ऑपरेटर देखें जो मुझे "PHP तीन बराबर ऑपरेटर" पर गुगल करने के लिए मिला है।

एक बिंदु पर यह कहता है कि:

एक डबल = चिह्न एक तुलना है और परीक्षण करता है कि बाईं ओर परिवर्तनीय / अभिव्यक्ति / स्थिरांक वैरिएबल / अभिव्यक्ति / दाईं ओर स्थिर के समान मान है।

एक ट्रिपल = साइन यह देखने के लिए एक तुलना है कि दो चर / एक्सपेशंस / स्थिरांक बराबर हैं और समान प्रकार हैं - यानी दोनों स्ट्रिंग हैं या दोनों पूर्णांक हैं।

यह इसे समझाने के लिए एक उदाहरण भी देता है।





identity-operator