微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP,生成带格式的字符串,检查SQL db?

我正在尝试使用PHP作为在网页中处理此问题的方法,我的典型语言是java,因此我不熟悉如何对产品密钥进行此操作.

这基本上就是这个过程:

1. Generate random string with format XX-XXXX-XXXX-XXX a mix of numbers and letters.
2. Check if it already exists in an sql database
3. If exists, generate another one and repeat?

那我怎么用PHP做这个呢?
请解释一下我需要做什么以及最好的方法.

解决方法:

从以下函数生成随机字符串.

<?PHP
function randomString() {
    $alphabet = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMnopQRSTUWXYZ0123456789";
    $pass = array(); //remember to declare $pass as an array
    $alphaLength = strlen($alphabet) - 1; //put the length -1 in cache
    $array_lengths = array(2,4,4,3);
    foreach($array_lengths as $v){
      for ($i = 0; $i < $v; $i++) {
        $n = rand(0, $alphaLength);
        $pass[] = $alphabet[$n];
      }
      $pass[] = '-';
    }
    return rtrim(implode($pass),'-'); //turn the array into a string
}

echo randomString();

?>

sql
请创建唯一键字段并使用ON DUPLICATE KEY查询插入/更新数据

DEMO

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐