php唯一id生成扩展(php唯一数字id)

发布时间:2022-11-14

本文目录一览:

1、php 随机生成不重复用户ID
2、php 生成唯一id的几种解决方法
3、PHP的uniqid函数产生的id真的是唯一的么
4、如何使用php生成唯一ID的4种方法
5、如何用php生成一个16位数的id 并在指定的文件创建id文件夹

php 随机生成不重复用户ID

php可以使用uniqid函数生成唯一的ID uniqid — 生成一个唯一ID string uniqid([ string $prefix = ""[, bool $more_entropy = false]]) 获取一个带前缀、基于当前时间微秒数的唯一ID。 参数说明:

  • prefix:有用的参数。例如:如果在多台主机上可能在同一微秒生成唯一ID。
  • prefix 为空,则返回的字符串长度为13。more_entropy 为 TRUE,则返回的字符串长度为23。
  • more_entropy:如果设置为 TRUE,uniqid() 会在返回的字符串结尾增加额外的煽(使用combined linear congruential generator)。使得唯一ID更具唯一性。 返回值: 返回字符串形式的唯一ID。

php 生成唯一id的几种解决方法

网上查了下,有很多的方法 1、md5(time() . mt_rand(1,1000000));
这种方法有一定的概率会出现重复 2、php内置函数uniqid() uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID. w3school参考手册有一句话:"由于基于系统时间,通过该函数生成的 ID 不是最佳的。如需生成绝对唯一的 ID,请使用 md5() 函数"。

PHP的uniqid函数产生的id真的是唯一的么

生成唯一ID的应用场景非常普遍,如临时缓存文件名称,临时变量,临时安全码等,uniqid()函数基于以微秒计的当前时间,生成一个唯一的 ID。由于生成唯一ID与微秒时间关联,因此ID的唯一性非常可靠。 生成的唯一ID默认返回的字符串有 13 个字符串长,如果不定义唯一ID的前缀,最多可返回23个字符串长,如果再结合md5()函数,生成的唯一ID可靠性将更高,这种生成的ID比随机性的ID 最大优点在于可实现排序,特别是一些需要存储在数据库中的值。

如何使用php生成唯一ID的4种方法

方法1

<?php 
$numbers = range (1,50); 
//shuffle 将数组顺序随即打乱 
shuffle ($numbers); 
//array_slice 取该数组中的某一段 
$num=6; 
$result = array_slice($numbers,0,$num); 
print_r($result); 
?>

方法二

<?php 
$numbers = range (1,20); 
//播下随机数发生器种子,可有可无,测试后对结果没有影响
srand ((float)microtime()*1000000); 
shuffle ($numbers); 
//跳过list第一个值(保存的是索引)
while (list(, $number) = each ($numbers)) { 
    echo "$number ";
} 
?>

方法三

<?php 
function NoRand($begin=0,$end=20,$limit=5){ 
    $rand_array=range($begin,$end); 
    shuffle($rand_array);//调用现成的数组随机排列函数 
    return array_slice($rand_array,0,$limit);//截取前$limit个 
} 
print_r(NoRand()); 
?>

方法四

<?php 
$tmp=array(); 
while(count($tmp) < 5){ 
    $tmp[] = mt_rand(1,20); 
    $tmp = array_unique($tmp); 
} 
print_r($tmp);
?>

方法五

<?php 
$tmp = range(1,30);
print_r(array_rand($tmp,10));
?>

都在这咯,希望可以帮到你

如何用php生成一个16位数的id 并在指定的文件创建id文件夹

<?php
$id = substr(md5(uniqid()), 0,16);
mkdir('./abc/'.$id);
?>

uniqid()
生成一个唯一的id值,在MD5加密成32位数完后,截取16为的字符。 在当前目录下abc目录下创建文件夹。 望采纳 Thx