php中太长var的模块

时间:2014-01-02 23:42:40

标签: php module int long-integer

如何处理php中包含24位数的var的模块

00120345030000067890142807 % 97

此操作的结果必须为1,但问题是包含de值的var太长。

1 个答案:

答案 0 :(得分:1)

您可以使用BCMath PHP functions处理大数字。根据您的环境,BCMath扩展通常已与PHP捆绑在一起,如果您使用的是Linux,则可以在您选择的包管理器中搜索它。如果您使用的是旧版本的PHP,请告诉我,我希望能够向您展示如何从php源代码树手动编译扩展。

要使用的功能是bcmod - http://www.php.net/manual/en/function.bcmod.php

你可以像这样使用它:

<?php

$bigNumber = '00120345030000067890142807';

echo($bigNumber % 97 . "\n");
echo(bcmod($bigNumber, 97) . "\n");

如果你运行它,你会看到它输出预期结果而标准模块不会:

$ php -q test.php
65
1