php - mt_rand 期望参数 2 为整数,错误地认为给定的是 float

标签 php xampp

mt_rand(1000000000, 9999999999);

Warning: mt_rand() expects parameter 2 to be integer, float given in E:\Projects\school\users\temp.php on line 6

XAMPP 中的 PHP 7.0.2。该代码在上次安装 5.x 的 XAMPP 中运行良好。所以更新打破了它。在 google 上找不到任何内容。

enter image description here

最佳答案

如果大整数超出了服务器操作系统上的最大整数值,则它们将存储为 float 。在 32 位系统上,它们会溢出到 2147483647 以上。在 64 位系统上,它们会溢出到 9223372036854775807 以上。

如果您想查看服务器上的最大整数,可以使用 var_dump(PHP_INT_MAX)。

如果您想确保无论运行在什么系统上它都不会溢出,您可以使用 mt_getrandmax() 作为第二个参数

mt_rand(1000000000, mt_getrandmax())

关于php - mt_rand 期望参数 2 为整数,错误地认为给定的是 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35516698/

相关文章:

php - 从 docker 容器到外部服务器的 SSH 连接以读取 MySQL 数据库(从 docker 查询)

php - 带有 anchor 标记的 CodeIgniter 文件上传问题

php - PDO异常 SQLSTATE[23000] :in php

docker - 无法访问安装在 ubuntu docker 容器中的 xampp htdocs 中的文件

php - 使用 bitnami wapp 时我们应该在哪里保存 html 和 php 文件?

php - 安排许多作业按时间戳执行

php - CakePHP:具有默认值的日期字段

php - isset 的奇怪行为

php - 如何将 gwt 编译的 javascript 代码与 php 和 mysql 后端连接并在本地主机上运行它?

php -/php_intl.h :33:10: fatal error: 'unicode/ubrk.h' file not found