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




operators comparison-operators (8)

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

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

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

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

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

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

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


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

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

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

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

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

4 == "4" // सच

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

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

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


$a === $b     (Identical)      

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

PHP डॉक्स


आप here पढ़ सकते हैं, संक्षिप्त सारांश:

$ a == $ b समान सत्य अगर $ j टाइपिंग के बाद $ b के बराबर है।

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


$x == $y सत्य है यदि $ x और $ y का मान समान है:

$x = 1; //int type
$y = "1"; //string type
if ($x == $y) {
    // This will execute
}

$x === $y TRUE यदि $ x और $ y का मान समान है और $ x और $ y का प्रकार समान है:

$x = 1; //int type
$y = "1"; //string type
if ($x === $y) {
    // This will not execute
}

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


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

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

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


"===" वैरिएबल में वैल्यू के साथ-साथ वैरिएबल के डेटा प्रकार से मेल खाता है।





identity-operator