【问题标题】:How Can I Produced Alpha Numeric In Php/SQL And Which Is A Better Approach?如何在 PHP/SQL 中生成字母数字,哪种方法更好?
【发布时间】:2023-03-28 06:55:02
【问题描述】:

您好,我只是想问一下如何使用 PHP 代码/MySQL 代码生成随机的字母数字字符。我想将这些值作为用户的唯一 ID 插入。而不是在 MySQL 中使用 AI。 . 听起来可能很愚蠢,但哪个更好(方法)? 以编程方式使用 Php/Sql 生成唯一 ID? . 范围至少可以是 20 多个字符。例如 gHs51hJkw9106bwkdHwPV752

【问题讨论】:

标签: php mysql


【解决方案1】:

您可以在下面使用此代码。它与当前时间戳相关联,因此在您计划将其用于 AI 时它是独一无二的。

<?php
$len =22;

$rand = substr(str_shuffle(md5(time())),0,$len);

echo $rand;

?>

【讨论】:

  • 先生,您能给我解释一下时间吗?它会根据您的时间格式创建 id 吗?
  • time 函数生成当前的 Unix 时间戳。每次都是独一无二的。是的,它会生成一个唯一的随机字符串,以便您将其用作主键
  • 这让我很感兴趣,到目前为止我还没有找到/阅读这个答案。非常感谢。
【解决方案2】:

你可以简单地使用这个函数来获取随机的字母数字字符串

function RandomString($length = 32) {
$randstr="";
srand((double) microtime(TRUE) * 1000000);
//our array add all letters and numbers if you wish
$chars = array(
    'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'p',
    'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '1', '2', '3', '4', '5',
    '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 
    'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z');

for ($rand = 0; $rand <= $length; $rand++) {
    $random = rand(0, count($chars) - 1);
    $randstr .= $chars[$random];
}
return $randstr;
}


//$length = 32 is used to set string length you can use whatever you want

希望对你有用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-19
    • 2011-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多