在PHP中使用long int

Pra*_*ngh 12 php int unsigned-long-long-int

我正在尝试这个,但我无法存储大的价值

$var = rand(100000000000000,999999999999999);
echo $var; // prints a 9 digit value(largest possible)
Run Code Online (Sandbox Code Playgroud)

如何获得理想的价值?

Dav*_*dom 18

手册:

整数的大小取决于平台,尽管最大值约为20亿是通常的值(32位有符号).64位平台的最大值通常约为9E18.PHP不支持无符号整数.整数大小可以使用常量PHP_INT_SIZE确定,最大值可以使用自PHP 4.4.0和PHP 5.0.5以来的常量PHP_INT_MAX.

...

如果PHP遇到超出整数类型边界的数字,它将被解释为浮点数.此外,导致超出整数类型边界的数字的操作将返回浮点数.

BC MathGMP是(唯一的)方法来操纵这个限制.


Ned*_*der 5

PHP int 通常是 32 位。其他包提供更高精度的整数:http : //php.net/manual/en/language.types.integer.php


Tim*_*rom 5

如果您需要处理非常大的数字,我已经在 BC Math 中取得了成功。这是您需要了解的所有内容的链接:

http://php.net/manual/en/book.bc.php