2016-07-30 8 views

उत्तर

20

इसका कारण यह है 011 प्रमुख 0 की वजह से एक अष्टाधारी मूल्य के रूप में व्यवहार किया जाता है।

यहाँ अधिक गहराई से व्याख्या दी गई है:

  1. 011 शाब्दिक एक अष्टाधारी के रूप में मान्यता प्राप्त है मूल्य
  2. यह तो दशमलव मान, जो 9
  3. के बराबर करने के लिए परिवर्तित है वास्तविक तुलना निम्न की तरह दिखती है: 9 == 11 // false

'011' == 11 के रूप में, यह true का मूल्यांकन करता है, क्योंकि जब स्ट्रिंग की तुलना पूर्णांक से की जाती है, तो यह पूर्णांक मान के साथ भी मिलती है। दिलचस्प बात यह है कि स्ट्रिंग में अग्रणी शून्य को proccess में अनदेखा किया जाता है और php दुभाषिया मूल्य को के रूप में एक अंडाकार एक के बजाय दशमलव मानता है!

+2

बहुत अच्छी व्याख्या। –

+1

मुझे अज्ञात प्रतिनिधित्व के बारे में पता था जब निर्विवाद था लेकिन वास्तव में उद्धृत, दिलचस्प के लिए इसे माना जाता था! –

+0

सच है! 'var_dump (011 == 9);' 'var_dump (011 === 9);' – Progrock

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