-4

PHPでランダムにコードを生成したい。長さは 5 文字の英数字にする必要があります。

しかし、最初の値を AZ にしたいです。どうやってやるの?

私は次のことを行いましたが、これは私にはあまりにも明白に思えました...別の方法はありますか?

    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);
4

1 に答える 1

1

これはあなたが探しているものでなければなりません。大文字が必要な場合は、それらを$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 );
于 2013-05-07T18:48:19.143 に答える