Php 最大值
在php文档中,我发现了以下注释: 在32位和64位系统(OS X和Linux)上,mt_getrandmax() 返回2147483647 我已经使用提供的简单函数确认了这一点Php 最大值,php,unique-id,Php,Unique Id,在php文档中,我发现了以下注释: 在32位和64位系统(OS X和Linux)上,mt_getrandmax() 返回2147483647 我已经使用提供的简单函数确认了这一点 function gethighest() { return mt_getrandmax(); } $hello = gethighest(); echo '<b>'.$hello.'</b>'; 函数gethighest() { 返回mt_getrandmax(); } $hello=get
function gethighest()
{
return mt_getrandmax();
}
$hello = gethighest();
echo '<b>'.$hello.'</b>';
函数gethighest()
{
返回mt_getrandmax();
}
$hello=gethighest();
回声“.$hello.”;
我正在使用此代码段生成唯一的id
$number = mt_rand(163245,978534);
$unique_id = crypt($number);
echo md5($unique_id).'<br/>';
$number=mt_rand(16325978534);
$unique_id=crypt($number);
echo md5($unique_id)。“
”;
我的问题是,mt_rand的最大值意味着什么?一旦达到最大值,ID会开始重复吗?您的代码:
$number = mt_rand(163245,978534);
这意味着生成的数字将介于这两个数字之间,它将在您运行它时多次在这两个值之间生成一个数字。。返回的值不会超出该范围。但是,是的,值可以重复
例如,使用mt_rand(1,5)进行尝试,并告诉它执行20次并输出。您的代码:
$number = mt_rand(163245,978534);
这意味着生成的数字将介于这两个数字之间,它将在您运行它时多次在这两个值之间生成一个数字。。返回的值不会超出该范围。但是,是的,值可以重复
例如用mt_rand(1,5)试试,告诉它做20次并输出。考虑使用uniqid吗 考虑使用uniqid吗 如果要生成唯一ID,应使用:
如果您打算生成唯一ID,则应使用:
您这样做只是为了生成一个唯一的id吗?它必须是数字吗?为什么要使用两种不同的散列算法(
crypt()
和md5()
)来获取散列密钥?我认为一个就够了。您还可以使用sha1()
,它为您提供一个包含任何输入的40个字符的十六进制字符串……您这样做只是为了生成一个唯一的id吗?它必须是数字吗?为什么要使用两种不同的散列算法(crypt()
和md5()
)来获取散列密钥?我认为一个就够了。您还可以使用sha1()
,它为您提供一个包含任何输入的40字符十六进制字符串…unique id函数与mt_rand函数相比有什么优势?您所做的工作更少,并且保证返回一个唯一id。需要更多吗?unique id函数与mt_rand函数相比有什么优势?您所做的工作更少,而且它保证返回一个唯一的id。需要更多吗?