Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 最大值_Php_Unique Id - Fatal编程技术网

Php 最大值

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

在php文档中,我发现了以下注释:

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

我已经使用提供的简单函数确认了这一点

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。需要更多吗?