Jawaban:
Tidak ada perbedaan dalam PHP. float, doubleatau realtipe data yang sama.
Pada tingkat C, semuanya disimpan sebagai file double.
Ukuran sebenarnya masih bergantung pada platform.
Lihat manual untuk lebih jelasnya:
http://www.php.net/manual/en/language.types.float.php
function some( float $num){}, ketika saya menggunakannya some(17.23)akan muncul kesalahan fatal some () harus berupa contoh float, double given,
realdi php sejauh ini.
is_realfungsi, dengan alias dari is_float...; )
Untuk PHP, keduanya sama. http://www.php.net/manual/en/language.types.float.php :
Bilangan floating point (juga dikenal sebagai "floats", "doubles", atau "real number") dapat ditentukan menggunakan salah satu sintaks berikut: [...]
Bagian yang membingungkan adalah mengapa gettype (yang seharusnya tidak Anda gunakan) mengembalikan "double" daripada "float". Jawabannya adalah http://de2.php.net/manual/en/function.gettype.php :
"double" (karena alasan historis "double" dikembalikan jika ada float, dan bukan hanya "float")
Pada PHP 7.0.6 di Windows, membandingkan perintah ini tanpa xdebug:
$ php -r 'var_dump(28.4);'
float(28.4)
dan dengan xdebug:
$ php -r 'var_dump(28.4);'
Command line code:1:
double(28.4)
Perhatikan bahwa ini hanya mengubah output var_dump (), tetapi bukan manajemen memori yang sebenarnya.
Ini mungkin mengatasi beberapa masalah mengapa Anda melihat doublealih-alih floatditampilkan di var_dump di beberapa komputer lain.
Juga, dengan atau tanpa xdebug, gettypemasih mengembalikan string(6) "double".
Di PHP 7.0.14
function test(double $a) {
var_dump($a);
}
test(2.2111);
Mengembalikan "Kesalahan fatal: Tidak Tertangkap TypeError: Argumen 1 yang diteruskan ke test () harus berupa turunan ganda, diberi float".
function test(float $a) {
var_dump($a);
}
test(2.2111);
Mencetak 2.2111 ke layar.