mt_rand期望参数2是整数,错误地认为浮点数是给定的

时间:2016-02-19 23:05:54

标签: php xampp

top: 0; left: 0
  

警告:mt_rand()期望参数2为整数,浮点数在第6行的E:\ Projects \ school \ users \ temp.php中给出

XAMPP中的PHP 7.0.2。此代码在最后一次具有5.x的XAMPP安装中运行良好。所以更新打破了它。在谷歌上找不到任何东西。

enter image description here

2 个答案:

答案 0 :(得分:12)

如果大的int溢出服务器操作系统上的最大int值,则它们将存储为浮点数。在32位系统上,它们溢出2147483647.在64位系统上,它们溢出9223372036854775807。

如果要查看服务器上的max int,可以使用var_dump(PHP_INT_MAX)。

如果你想确保它不会溢出而不管它运行的系统是什么,你可以使用mt_getrandmax()作为你的第二个参数

mt_rand(1000000000, mt_getrandmax())

答案 1 :(得分:-1)

将参数2更改为整数。

mt_rand(1000000000, 8888888888);