CASE # 1:
मैं निम्नलिखित कोड है जो सही संख्यापूर्णांक प्रकार डाली मुद्दा
<?php
$integer = 10000000000;
$array = array($integer);
print_r($array[0]); //output = 1000000000
?>
CASE # 2:
आउटपुट लेकिन जब मैं स्पष्ट रूप से एक ही नंबर डाली टाइप यह अलग उत्पादन देता है पूर्णांक
<?php
$integer = (int)10000000000;
$array = array($integer);
print_r($array[0]); //output = 1410065408
?>
CASE # 3:
हैं मैं संख्या को 0 से छोटा करता हूं और इसे कास्ट करता हूं, फिर यह सही संख्या
<?php
$integer = (int)1000000000;
$array = array($integer);
print_r($array[0]); //output = 1000000000
?>
0 देता है
यह CASE # 2
में सही आउटपुट क्यों नहीं बना रहा है?
ऐसा लगता है कि पूर्णांक प्रकार के लिए सीमा पार कर गए। एक पूर्णांक का अधिकतम मान 2147483647 है। इसे यहां पढ़ें: http://php.net/manual/en/language.types.integer.php – SamHuckaby
हाँ, आपने इंटीजर प्रकार की सीमा पार कर ली है, इसलिए यह ज्ञात अधिकतम पूर्णांक में परिवर्तित होता है। – MurifoX
यह ध्यान दिया जाना चाहिए कि पहला मामला "काम करता है" क्योंकि PHP इसे एक स्ट्रिंग में परिवर्तित करता है (या कुछ प्रकार जो संख्या को संभाल सकता है)। – SamHuckaby