php5 将 64 位整数转换为 double - 如何强制 64 位?

标签 php int64

在 php5 中,传递一个 64 位整数,1707541557936130通过 GET,但它显示值 1.7075415579361E+15

我如何强制 php 将大整数用作整数,而不是 float

当我转移 <<显然结果也是 int32,而不是 int64

有没有办法全局说使用 int64?

最佳答案

PHP 仅在 64 位系统上支持 64 位整数。在这两种情况下,大于 PHP_INT_MAX 的整数都被转换为 float 。 见manual .

试试这段代码:

<?php
$i=1707541557936130;
var_dump($i);    
echo PHP_INT_MAX;

关于php5 将 64 位整数转换为 double - 如何强制 64 位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8701655/

相关文章:

php - 是什么原因导致此 Laravel 8 应用程序中的用户访问错误?

JavaScript - 在 'for' 循环中设置表单输入属性

swift - Swift 中的位域大于 64 次移位?

c - 使用 int32_t 访问 int64_t 的高低部分

php - 从数据库中选择多个类别

javascript - 使用来自 Ajax 响应的 JSON 数据数组?

戈朗 : Combine two numbers

go - strconv.Itoa64(1234) 在 golang 中给出 undefined

r - 在 R 中处理大整数

javascript - PHP - 阻止攻击者在输入框中使用 javascript