我想用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);
答案 0 :(得分: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 );