php - mt_rand() 在 Windows 中可以生成的最大数量是多少?

标签 php jquery mysql ajax

实际上,在我的 php 应用程序中,我想为每个用户分配一个唯一的数字代码。为此,我正在使用 mt_rand(0,100000000)。我希望它为数百万不同的用户生成数百万个数字而不重复并将其保存到数据库中。是否可以 ?或者推荐任何其他技术? 另外,为了确保数字不重复,我正在通过 php 检查该数字是否已存在于数据库中,如果它确实存在,我会重新加载页面以生成另一个数字并将其保存到数据库中,否则继续按原样保存该数字. 这是最好的做法吗?

我是 php 中这个非重复数字生成器的新手,所以不知道有效的方法。

最佳答案

您可以使用mt_getrandmax() 来获取mt_rand() 的最大值。

正如doc说,

max: Optional highest value to be returned (default: mt_getrandmax())

min max range must be within the range mt_getrandmax(). i.e. (max - min) <= mt_getrandmax() Otherwise, mt_rand() may return poorer random numbers than it should.

关于php - mt_rand() 在 Windows 中可以生成的最大数量是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48237046/

相关文章:

php - 使用 WordNet 创建一个简单的字典

php - paypal php sdk 返回 getSupplementaryDataMap() 缺失

javascript - 如何从元素中删除所有继承和计算的样式?

jquery - 如何让 jQuery Mobile 的日期选择器在字段的中心而不是左侧弹出?

c# - 如何让运行在ubuntu机器上的.net core与本地数据库连接

php - 合并多个数组然后按数组值计数排序

php - 如何从 php 表单获取更改属性的值?

php - Joomla 从 SQL 插入和删除而无需刷新

mysql - 在 LEFT JOIN 中有效使用 OR 语句

PHP如何过滤数组值