आप दो तारों की तुलना कर सकते हैं।
"00001" === "1" // false
याद रखें ==
का मतलब बराबर ===
का मतलब बराबर
मेरी केवल करने के लिए क्यों यह मामला है के रूप में है, क्योंकि शुरुआत में पीएचपी एक प्रकार कम भाषा होने के लिए प्रयासरत इससे पहले कि वे एक बनने का मार्ग चला गया अनुमान ढीली टाइप की गई भाषा।
PHP मूल रूप से स्ट्रिंग प्रोसेसर था जो इसके अंदर एक छोटी लिपि के लिए अनुमति देता था। चूंकि वेब पर सभी इनपुट प्रकृति में टेक्स्ट हैं, इसलिए इसे संख्याओं से निपटने के लिए संवेदनापूर्वक व्यवहार करने के लिए कठोर पाठ इनपुट इनपुट करना था।
मैं इसके बारे में गलत हो सकता हूं लेकिन मुझे विश्वास नहीं है कि * वैल फ़ंक्शंस (जैसे अंतराल) आदि के परिचय के साथ PHP 4 तक चरण में दर्ज डेटा प्रकारों को स्पष्ट रूप से डालने की क्षमता और मुझे लगता है कि कास्टिंग नोटेशन, जैसे (int)
उसके बाद आया था।
गैर तुलना संचालन के लिए यह बहुत आसान था क्योंकि उनके पास उनके साथ एक प्रकार है (+ -/* सभी संख्याओं के साथ सौदा करते हैं। तारों के साथ सौदों) तो उन मामलों में चीजों को कैसे डाला जाना चाहिए इसका स्पष्ट मार्ग स्पष्ट है
लेकिन वैरिएबल के बीच समानता या समकक्ष जांच के साथ, ऐसा करने का एकमात्र तरीका किसी संख्या की तरह दिखने वाली सभी चीजों का इलाज करना था क्योंकि उस समय एकमात्र तरीका यह हो सकता है कि वह बाहरी रूप से होगा स्ट्रिंग और इसे अन्यथा बनाने का कोई तरीका नहीं था।
क्योंकि उन्होंने पर्ल से संकेत नहीं लिया। : पी यह कहना इतना आसान होता कि "' == 'संख्यात्मक रूप से तुलना करता है,' eq' तुलनात्मक रूप से तुलना करता है, और '===' सख्ती से तुलना करता है "। (हालांकि अगर हमारे पास पहले दो थे, तो बाद वाले को कभी भी इस्तेमाल करने की आवश्यकता नहीं हो सकती थी। एह, शायद ऑब्जेक्ट्स के साथ।) – cHao