用PHP生成随机代码


Generate random code with PHP

我想用php随机生成一个代码。长度应为5个字母数字字符。

但是我希望第一个值是A-Z。我该怎么做呢?

我已经做了以下的事情,但这对我来说似乎太明显了…还有别的办法吗?

    function randString($length, $charset='ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789')
{
    $str = '';
    $count = strlen($charset);
    while ($length--) {
        $str .= $charset[mt_rand(0, $count-1)];
    }
    return $str;
}   
$code = randString(1,'ABCDEFGHIJKLMNOPQRSTUVWXYZ');
$code .= randString(4);

这应该是你正在寻找的。如果您想要大写字母,只需将它们添加到$chars字符串。

<?php
$chars = "abcdefghijklmnopqrstuvwxyz";
function generateCode( $chars , $limit = 5 ){
     $charsLength = strlen( $chars );
     $code = $chars[rand(1,$charsLength)-1];
     $chars .= "0123456789";
     $charsLength = strlen( $chars );
     while(strlen($code) < $limit){
         $code .= $chars[rand(1,$charsLength)-1];
     }
}
$myCode = generateCode( $chars );