मैं थोड़ी देर के लिए PHP में प्रोग्रामिंग कर रहा हूं लेकिन मैं अभी भी == और === के बीच अंतर को समझ नहीं पा रहा हूं। मुझे पता है कि = असाइनमेंट है। और == बराबर है। तो === का उद्देश्य क्या है?=== PHP में क्या करते हैं
उत्तर
करता है। ! == जो तुलना प्रकार और मूल्य असमानता
if("45" !== 45) //true
if(45 !== 45) //false
if(0 !== false)//true
यह strpos जैसे कार्यों के लिए विशेष रूप से उपयोगी है - जो 0 वैध लौट सकते हैं:
if("45" === 45) //false
if(45 === 45) //true
if(0 === false)//false
यह एक अनुरूप है।
strpos("hello world", "hello") //0 is the position of "hello"
//now you try and test if "hello" is in the string...
if(strpos("hello world", "hello"))
//evaluates to false, even though hello is in the string
if(strpos("hello world", "hello") !== false)
//correctly evaluates to true: 0 is not value- and type-equal to false
Here's a good wikipedia table अन्य भाषाओं ट्रिपल बराबर करने के लिए एक सादृश्य है कि लिस्टिंग।
यह अगर डेटाप्रकार एक ही है और साथ ही मूल्य है की जाँच करेगा
if ("21" == 21) // true
if ("21" === 21) // false
===
मूल्य और प्रकार है।
== प्रकारों की तुलना नहीं करता है, === करता है।
0 == false
सही का आकलन लेकिन
0 === false
यह दोनों मूल्य की तुलना और समानता टाइप नहीं
यह एक वास्तविक समानता तुलना है।
"" == False
उदाहरण के लिए true
है।
"" === False
false
यह सच है कि === दोनों मूल्य और प्रकार की तुलना करता है, लेकिन वहाँ एक मामले जो अभी तक का उल्लेख नहीं किया गया है और वह यह है कि जब आप == और साथ वस्तुओं की तुलना === ।
को देखते हुए निम्नलिखित कोड:
class TestClass {
public $value;
public function __construct($value) {
$this->value = $value;
}
}
$a = new TestClass("a");
$b = new TestClass("a");
var_dump($a == $b); // true
var_dump($a === $b); // false
वस्तुओं के मामले में === संदर्भ तुलना, टाइप करें और मूल्य नहीं ($ एक और $ ख दोनों बराबर प्रकार और मूल्य के हैं के रूप में)।
PHP मैनुअल में a couple of very nice tables ("==" के साथ लूज तुलना और "=== "के साथ सख्त तुलना) जो दिखाती है कि परिणाम == और === विभिन्न चर प्रकारों की तुलना करते समय क्या देगा।
न्यूनतम रूप से, === == से तेज़ है क्योंकि कोई ऑटोमैटिक कास्टिंग/कोयर्सन नहीं चल रहा है, लेकिन इसकी न्यूनतम संख्या इसका उल्लेखनीय रूप से उल्लेखनीय है। (बेशक, मैंने अभी इसका उल्लेख किया है ...)
- 1. इन PHP mbstring सेटिंग्स क्या करते हैं?
- 2. PHP: $ चर {0} में घुंघराले ब्रेसिज़ क्या करते हैं?
- 3. ए क्या करता है। (डॉट) PHP में करते हैं?
- 4. PHP निर्माण/एकीकरण उपकरण: क्या आप उनका उपयोग करते हैं?
- 5. PHP: आप इसे लिखने के लिए क्या उपयोग करते हैं?
- 6. क्या PHP अनुप्रयोग डिजाइन/डिज़ाइन पैटर्न आप उपयोग करते हैं?
- 7. फ़ंक्शन तर्कों में PHP फ़्लैग क्या हैं?
- 8. क्या आप एक PHP आईडीई का उपयोग करते हैं?
- 9. क्या PHP सत्र कोई कुकी सेट करते हैं?
- 10. परीक्षक क्या करते हैं?
- 11. आप PHP में पेजिनेशन कैसे कार्यान्वित करते हैं?
- 12. अच्छे PHP वर्ग जो .ini फाइलों में हेरफेर करते हैं
- 13. आप php में डेटाबेस कनेक्शन कैसे प्रबंधित करते हैं?
- 14. आप PHP में "असंगठित" नेविगेशन को कैसे हल करते हैं?
- 15. PHP में जादू उद्धरण रनटाइम क्या हैं?
- 16. क्या PHP इंटरफेस में गुण हैं?
- 17. '?' क्या करता है सी ++ में करते हैं?
- 18. डी में +/और +/संकेत क्या करते हैं?
- 19. 'std :;' क्या होगा सी ++ में करते हैं?
- 20. क्या करता है ... = ... आर में करते हैं?
- 21. क्या टीएफएस में स्थानीय काम करते हैं?
- 22. वग्रेंट आदेश वास्तव में क्या करते हैं?
- 23. आप PHP में 'रेफरर' हेडर कैसे प्राप्त करते हैं?
- 24. आप PHP में कुकी कैसे अपडेट करते हैं?
- 25. घुंघराले ब्रेसिज़ में एक प्रक्रियात्मक ब्लॉक लपेटने क्या php में करते हैं?
- 26. क्या PHP संसाधनों तक पहुंचने पर PHP के फॉपेन() सामान्य हमलों के खिलाफ सुरक्षा करते हैं?
- 27. क्या आप ToList() करते हैं?
- 28. निम्नलिखित कोड क्या करते हैं?
- 29. क्या फ़ायरबेस Geospatial करते हैं?
- 30. set_locale (LC_CTYPE, 'C') क्या करता है; वास्तव में करते हैं?
स्ट्रॉप्स के मामले में, "झूठी"/"सत्य" टिप्पणियां बहुत स्पष्ट नहीं हैं, लेकिन मुझे लगता है कि आप इसे संदर्भ में पर्याप्त रूप से समझ सकते हैं। – luiscubal
इसके अलावा, परिणामों के कारण टॉम बताते हैं, वापसी मूल्यों का मूल्यांकन करते समय === या! == का उपयोग करना लगभग हमेशा बेहतर होता है। भले ही फ़ंक्शन वर्तमान में एक संदिग्ध मूल्य नहीं लौटाता है, जो भविष्य में बदल सकता है। –
@luiscubal - मैंने स्पष्ट किया। –