2009-08-11 10 views
8

मैं सिर्फ php कोड का एक टुकड़ा पर ठोकर खाई को क्या हुआ और देख सकते हैं लेखक का इस्तेमाल किया <> तुलना करने के लिए एक समान नहीं करना है:क्यों पीएचपी दो है "बराबर नहीं करने के लिए" ऑपरेटरों (= और <>!)

if ($variable <> "") { 
    echo "Hello, I am having some value"; 
} 

मैं हमेशा != का इस्तेमाल किया है:

if ($variable != "") { 
    echo "Hello, I am having some value"; 
} 

वहाँ किसी भी विशेष परिस्थितियों कर रहे हैं, जब मैं != से अधिक <> इस्तेमाल करना चाहिए?

+1

कभी नहीं पता था कि आप <> php में – dassouki

उत्तर

3

मुझे लगता है कि <> ऑपरेटर पीएचपी में लागू किया गया है, क्योंकि यह कुछ अन्य भाषाओं में मौजूद है (एसक्यूएल, उदाहरण के लिए)

दोनों <> और = मतलब लगभग ठीक उसी: फर्क सिर्फ इतना है कि मैं पता लगाने के लिए उनके पूर्वता से संबंधित है प्रबंधित किया है: Operator Precedence देखें: वे

हालांकि (उन दोनों के बीच है, जो वहाँ एक अंतर है इसका मतलब है, afterall) एक ही पंक्ति ^^ पर नहीं हैं, मैं करने के लिए है प्रवेश करें मेरे पास एन है कभी भी <> PHP में उपयोग किया गया।

नोट है कि लोगों को आम तौर पर उपयोग करने के =; आपको शायद वही करना चाहिए: यह आपके कोड को समझने में आसान बना देगा।

और, बीटीडब्ल्यू, आपके पास भी है! == ऑपरेटर, जो तुलनात्मक तुलना भी करता है; लेकिन कोई < < >> ऑपरेटर या कि ^^


एक संदर्भ के रूप में ऐसा कुछ: Comparison Operators

+0

मैं कोड को समझने में आसान बनाने के बारे में आपसे सहमत हूं। – TigerTiger

+0

असल में, मुझे टन कबूल है: मैंने यह भी याद नहीं किया था कि PHP ^^ में <> ऑपरेटर था। मैंने यह सुनिश्चित करने के लिए भी आपके कोड का परीक्षण किया है ^^ कुछ सोर्स-कोड में इसे देखते हुए निश्चित रूप से अजीब लगेगा! (मुझे लगता है कि मैंने इसे मैन्युअल रूप से बहुत समय पहले देखा था ... लेकिन ^^ भी याद नहीं आया) –

+1

वे *** *** हैं [उसी पंक्ति पर] (http://php.net/ मैनुअल/en/language.operators.precedence।php) (जब आपने उत्तर दिया तो उनके पास अलग-अलग प्राथमिकता हो सकती है)। –

4

मेरा मानना ​​है कि जब पीएचपी पहले विकसित किया गया था, डिजाइन लक्ष्यों में से एक है यही वजह है कि वे हर पाश प्रकार और प्रत्येक ऑपरेटर प्रकार आप संभवतः के बारे में सोच सकता है में लाया लचीला भाषा, बनाने के लिए किया गया था।

<>!=in terms of precedence श्रेणी से थोड़ा अलग है, लेकिन उनके बीच आने वाले ऑपरेटरों का मतलब है कि इसमें कोई व्यावहारिक अंतर नहीं है।

3

अच्छा प्रश्न है। वे एक ही, के अलावा एक सूक्ष्म अंतर से कर रहे हैं: <> has higher precedence than !=

उन्हें क्यों है? चीजों को काम करने के लिए बस आप कैसे उम्मीद कर सकते हैं। पीएचपी उधार विचारों की एक mish मैश है, और जहां एक सी प्रोग्रामर $foo != $bar पसंद कर सकते हैं, एक बुनियादी पृष्ठभूमि के साथ किसी आंखों पर $foo <> $bar आसान लग सकता है। प्रत्येक के लिए!

+0

आह मैं देख रहा हूँ कर सकता है .. कम से कम नहीं है "कुछ " अंतर। ;-) – TigerTiger

1

वे बहुत करीब है, लेकिन थोड़ा different precedences, लेकिन मैं किसी भी समय है कि उपयोगी होगा नहीं देख सकता।

+0

उत्सुक था – TigerTiger

संबंधित मुद्दे