我刚刚用PHP写了一个随机数生成器,你认为这可以改进吗


I just wrote a random number generator in PHP how do you think this can be improved?

我在一个客户机上工作,他想要像T56、N78、J89等中那样以[char][int][int]格式生成代码。char必须使用大写。

我很快就写了这个函数,因为我发现它是最简单的

function randomizer(){
    $chars = array("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");
    return $chars[array_rand($chars)].mt_rand(10, 99);
}

但我一直在想,还会有很多其他有效的解决方案。上面的这个只是有效的,但我更注重效率,因为我需要生成大量这样的代码。

多好的起点啊!

echo chr(mt_rand(65,90)).str_pad((rand()%100),2,0,STR_PAD_LEFT);

如果可以的话,您希望将$chars存储在函数之外,因此不需要每次都创建它(例如,如果您想在循环中生成1000个代码)。

此外,这里有一个的快捷方式

$chars = range("A","Z");

function getRandStr()
{
    return sprintf("%s%02d", chr(mt_rand(65, 90)), mt_rand(0, 99));
}

编辑:根据评论更改,感谢@DaveRandom。