mt_rand最大值

时间:2012-07-05 09:51:43

标签: php unique-id

在php文档中,我发现了这个注释:

  

在32位和64位系统(OS X和Linux)上,mt_getrandmax()   返回2147483647

我已使用提供的简单功能

确认了这一点
function gethighest()
{
return mt_getrandmax();
}
$hello = gethighest();
echo '<b>'.$hello.'</b>';

我正在使用此代码段生成唯一ID

$number = mt_rand(163245,978534);
$unique_id = crypt($number);
echo md5($unique_id).'<br/>';

我的问题是,拥有mt_rand的最大值是什么意思?。一旦达到最大值,ids会开始重复吗?

3 个答案:

答案 0 :(得分:2)

您的代码:

$number = mt_rand(163245,978534); 

表示生成的数字将介于这两个数字之间,它将与运行它的次数一样多,在这两个值之间生成一个数字。否则返回值将超出该范围。但是,值,可以重复......

例如,尝试使用mt_rand(1,5)并告诉它执行20次并输出。

答案 1 :(得分:1)

答案 2 :(得分:1)

如果您打算生成唯一ID,则应使用uniqid

$unique_id = uniqid(microtime(true));