我正在考虑用于在php中生成5个字符的唯一字符串的选项。或者,如果有人有更好的选择。我不确定substr是否会真正降低唯一性的可靠性。所有建议都表示赞赏。
选项1:
$unique_id=substr(md5(time()), -5);
OR
选项2:
$unique_id=substr(uniqid, -5);
答案 0 :(得分:0)
这个内置的php功能可以帮到你。
rand(min,max);
答案 1 :(得分:0)
就个人而言,我会选择第一个选项,而是使用更像的东西:
md5(uniqid(rand(),true))
答案 2 :(得分:-1)
使用,如@Sagar所说,
rand(min,max);
然后将值存储在数据库中。在您向用户提供随机数之前,请检查它是否已存在于数据库中。如果没有,请继续并插入数据库。
这样的事情:
$rand = rand(min,max);
$sql = "SELECT randomNum FROM users WHERE randomNum = '$rand'";
$result = mysql_query($sql);
$count = mysql_num_rows($result);
if ($count != 1){
//insert to database
}