Разница между float и double в php? У меня есть этот код $vad = 1.1; print gettype($vad); var_dump($vad); это выведет: double float(1.1) Итак, это double или float в php? Ответ 1 В PHP нет никакой разницы. float, double или real являются одним и тем же типом данных. На уровне C все хранится как double. Реальный размер по-прежнему зависит от платформы. Подробнее см. в руководстве: http://www.php.net/manual/en/language.types.float.php Ответ 2 Для PHP они одинаковы. http://www.php.net/manual/en/language.types.float.php: Числа с плавающей запятой (также называемые "float" , "doubleles" или "real numbers" ) могут быть указаны с использованием любого из следующих синтаксисов: [...] Запутанная часть - это то, почему gettype (который вы не должны использовать, во всяком случае) возвращает "double" вместо "float" . Ответ http://de2.php.net/manual/en/function.gettype.php: "double" (по историческим причинам "double" возвращается в случае float, а не просто "float" ) Ответ 3 Начиная с PHP 7.0.6 в Windows, сравнивая эту команду без 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(), но не фактическое управление памятью. Это может привести к некоторым проблемам, почему вы видите double вместо float, показанных в var_dump на некоторых других машинах. Также, с или без xdebug, gettype все еще возвращает string(6) "double".
Ответ 1 В PHP нет никакой разницы. float, double или real являются одним и тем же типом данных. На уровне C все хранится как double. Реальный размер по-прежнему зависит от платформы. Подробнее см. в руководстве: http://www.php.net/manual/en/language.types.float.php
Ответ 2 Для PHP они одинаковы. http://www.php.net/manual/en/language.types.float.php: Числа с плавающей запятой (также называемые "float" , "doubleles" или "real numbers" ) могут быть указаны с использованием любого из следующих синтаксисов: [...] Запутанная часть - это то, почему gettype (который вы не должны использовать, во всяком случае) возвращает "double" вместо "float" . Ответ http://de2.php.net/manual/en/function.gettype.php: "double" (по историческим причинам "double" возвращается в случае float, а не просто "float" )
Ответ 3 Начиная с PHP 7.0.6 в Windows, сравнивая эту команду без 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(), но не фактическое управление памятью. Это может привести к некоторым проблемам, почему вы видите double вместо float, показанных в var_dump на некоторых других машинах. Также, с или без xdebug, gettype все еще возвращает string(6) "double".