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

Ach*_*har 2 php xampp

mt_rand(1000000000, 9999999999);
Run Code Online (Sandbox Code Playgroud)

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

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

在此输入图像描述

小智 12

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

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

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

mt_rand(1000000000, mt_getrandmax())
Run Code Online (Sandbox Code Playgroud)