如何处理php中包含24位数的var的模块
00120345030000067890142807 % 97
此操作的结果必须为1,但问题是包含de值的var太长。
答案 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