实际上在我的php应用程序中,我想为每个用户分配一个唯一的数字代码。为此我使用mt_rand(0,100000000)。我希望它为数百万不同的用户生成数百万的数字而不重复,并将其保存到数据库。可能吗 ?或者推荐任何其他技术? 另外为了确保数字不重复,我正在检查数据是否已经存在于db中,如果确实存在,我重新加载页面以生成另一个数字并将其保存到db orelse继续保存数字,因为它是。 这是最好的实践吗?
我是php中这个非重复数字生成器的新手,所以不知道有效的方法。
答案 0 :(得分:0)
您可以使用mt_getrandmax()
获取mt_rand()
的最大价值。
正如Mozilla Dev所说,
max:要返回的可选最高值(默认值:mt_getrandmax())
最小最大范围必须在mt_getrandmax()范围内。即(max-min)< = mt_getrandmax()否则,mt_rand()可能返回比它应该更差的随机数。