Differenza tra float e double in php?

Ho questo codice

$vad = 1.1; print gettype($vad); var_dump($vad); 

questo produrrà:

 double float(1.1) 

Quindi è doppio o float in php?

Non c'è differenza in PHP. float , double o real sono lo stesso tipo di dati.

Al livello C, tutto è memorizzato come un double .
La dimensione reale dipende ancora dalla piattaforma.

Vedi il manuale per maggiori dettagli:
http://www.php.net/manual/en/language.types.float.php

Per PHP, sono gli stessi. http://www.php.net/manual/en/language.types.float.php :

I numbers in virgola mobile (noti anche come "float", "doubles" o "numbers reali") possono essere specificati utilizzando una qualsiasi delle seguenti syntax: […]

La parte confusa è il motivo per cui gettype (che comunque non dovresti usare) restituisce "double" invece di "float". La risposta è http://de2.php.net/manual/en/function.gettype.php :

"double" (per ragioni storiche "double" viene restituito in caso di float e non semplicemente "float")

A partire da PHP 7.0.6 su Windows, confrontando questo command senza xdebug abilitato:

 $ php -r 'var_dump(28.4);' float(28.4) 

e con xdebug abilitato:

 $ php -r 'var_dump(28.4);' Command line code:1: double(28.4) 

Si noti che questo modifica solo l'output var_dump (), ma non l'effettiva gestione della memory.

Questo potrebbe risolvere alcuni dubbi sul fatto che si veda double invece di float mostrato in var_dump in alcune altre macchine.

Inoltre, con o senza xdebug, gettype restituisce ancora string(6) "double" .