方法一:
<?PHP
$str = uniqid(mt_rand(),1);
echo \'sha1: \',sha1($str);
echo \'<br>\';
echo \'MD5: \',md5($str);
?>
采用uniqid函数,配合mt_rand随机函数,最后使用散列值得出最终唯一值。
但是通过测试中,发现随机数的唯一性有些相同部分,大概有11位相同的(但无大碍)
第二种方法:GUID
<?PHP
echo sprintf(\'%04X%04X-%04X-%04X-%04X-%04X%04X%04X\', mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(16384, 20479), mt_rand(32768, 49151), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535));
echo \"<br>\";
echo sprintf(\'%04X%04X-%04X-%04X-%04X-%04X%04X%04X\', mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(16384, 20479), mt_rand(32768, 49151), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535));
echo \"<br>\";
echo sprintf(\'%04X%04X-%04X-%04X-%04X-%04X%04X%04X\', mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(16384, 20479), mt_rand(32768, 49151), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535));
echo \"<br>\";
echo sprintf(\'%04X%04X-%04X-%04X-%04X-%04X%04X%04X\', mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(16384, 20479), mt_rand(32768, 49151), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535));
?>
实例三:用uniqid mt_rand 生成随机不重复字符串的方法
<?php
//使用uniqid mt_rand 生成随机不重复字符串的方法
$snKeys=array();
$total=10;//设置生成数量
$prefix=\'code\';//字符串前缀
while(count($snKeys) < $total) {
$snKeys[$prefix . md5(uniqid(mt_rand(), true))] = null;
}
print_r($snKeys);
?>
继续阅读与本文标签相同的文章
上一篇 :
python数据分析之numpy常用命令整理
下一篇 :
php 分享两种获取文件后缀名的方法
-
全球首条“5G自动微公交”示范线路乌镇开通
2026-05-14栏目: 教程
-
未来十年,最为吃香的4个大学专业,毕业后就是香饽饽!
2026-05-14栏目: 教程
-
还不会制作填充地图,试试这种方法,2分钟搞定,让你秒变大神
2026-05-14栏目: 教程
-
顺丰自研机器人惊艳亮相,化身“快递小哥”亮绝活,盯上万亿市场
2026-05-14栏目: 教程
-
女生“主动”与你分享这3个秘密?520%偷偷喜欢你,臭弟弟冲鸭
2026-05-14栏目: 教程
