>백엔드 개발 >PHP 튜토리얼 >apache - php在64位的机器上,int(76561197960265728)会自动转换成float类型

apache - php在64位的机器上,int(76561197960265728)会自动转换成float类型

WBOY
WBOY원래의
2016-07-06 13:53:091135검색

1.在个人笔记本的和新浪服务器上运行正常,而在公司运行就会出现这个问题
,公司的那个是php5.6和64位操作系统
2.代码如下:
apache - php在64位的机器上,int(76561197960265728)会自动转换成float类型
3.正常结果是:
apache - php在64位的机器上,int(76561197960265728)会自动转换成float类型
4.异常结果:

apache - php在64位的机器上,int(76561197960265728)会自动转换成float类型

5.请问这是啥原因,是php版本的问题,还是操作系统,还是其他的?

回复内容:

1.在个人笔记本的和新浪服务器上运行正常,而在公司运行就会出现这个问题
,公司的那个是php5.6和64位操作系统
2.代码如下:
apache - php在64位的机器上,int(76561197960265728)会自动转换成float类型
3.正常结果是:
apache - php在64位的机器上,int(76561197960265728)会自动转换成float类型
4.异常结果:

apache - php在64位的机器上,int(76561197960265728)会自动转换成float类型

5.请问这是啥原因,是php版本的问题,还是操作系统,还是其他的?

http://php.net/manual/zh/language.types.integer.php

<code>如果给定的一个数超出了 integer 的范围,将会被解释为 float。同样如果执行的运算结果超出了 integer 范围,也会返回 float。</code>

你可以先试一下 PHP_INT_MAX ,在你机器 和 在服务上 大小有没有区别


不敢三七二十一 解决这个问题的话,就是最后结果统一转 string

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.