जवाबों:
PHP में कोई अंतर नहीं है। float, doubleया realसमान डेटाटाइप हैं।
सी स्तर पर, सब कुछ एक के रूप में संग्रहीत किया जाता है double।
वास्तविक आकार अभी भी प्लेटफ़ॉर्म-निर्भर है।
अधिक जानकारी के लिए मैनुअल देखें:
http://www.php.net/manual/en/language.types.float.php
function some( float $num){}, जब मैं इसका उपयोग करता हूं तो some(17.23)यह घातक त्रुटि फेंकता है () फ्लोट का एक उदाहरण होना चाहिए, डबल दिया गया,
realphp में अब तक इस तरह का कोई डेटा टाइप नहीं है ।
is_realसमारोह है, के साथ एक उपनाम है is_float...; )
PHP के लिए, वे समान हैं। http://www.php.net/manual/en/language.types.float.php :
फ्लोटिंग पॉइंट नंबर ("फ्लोट्स", "डबल्स" या "रियल नंबर" के रूप में भी जाना जाता है) को निम्नलिखित में से किसी भी वाक्य रचना का उपयोग करके निर्दिष्ट किया जा सकता है: [...]
भ्रमित करने वाला हिस्सा यही है कि गेटटाइप (जिसका उपयोग आपको नहीं करना चाहिए, वैसे भी) "फ्लोट" के बजाय "डबल" देता है। इसका उत्तर http://de2.php.net/manual/en/function.gettype.php है :
"डबल" (ऐतिहासिक कारणों के लिए "डबल" एक फ्लोट के मामले में लौटाया जाता है, और केवल "फ्लोट" नहीं)
Windows पर PHP 7.0.6 के रूप में, xdebug के बिना इस कमांड की तुलना करें :
$ php -r 'var_dump(28.4);'
float(28.4)
और xdebug के साथ :
$ php -r 'var_dump(28.4);'
Command line code:1:
double(28.4)
ध्यान दें कि यह केवल var_dump () आउटपुट बदलता है, लेकिन वास्तविक मेमोरी प्रबंधन नहीं।
यह कुछ चिंताओं को संबोधित कर सकता है कि आप कुछ अन्य मशीनों में var_dump के doubleबजाय क्यों दिखाई देते floatहैं।
इसके अलावा, xdebug के साथ या उसके बिना, gettypeअभी भी लौटता है string(6) "double"।
PHP में 7.0.14
function test(double $a) {
var_dump($a);
}
test(2.2111);
रिटर्न "घातक त्रुटि: बिना टाइप किए हुए त्रुटि: तर्क 1 परीक्षण करने के लिए पारित () दोहरे का एक उदाहरण होना चाहिए, फ्लोट दिया गया"।
function test(float $a) {
var_dump($a);
}
test(2.2111);
स्क्रीन पर प्रिंट करता है 2.2111।