【发布时间】:2012-07-28 13:27:28
【问题描述】:
我正在为一位客户工作,他希望生成格式为 [char][int][int] 的代码,例如 T56、N78、J89 等... 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);
}
但我一直想知道还有许多其他有效的解决方案。上面这个只是工作,但我更注重效率,因为我需要生成大量这样的代码。
还有什么更好的起点!
【问题讨论】:
-
静态
$chars = range('A', 'Z'); -
是否允许使用“T05”之类的值?您的函数不会生成它们。
-
那不是随机数生成器。您正在使用随机数生成器。
-
@Wug 他们确实是被允许的,我的代码错了,我的错!
-
@MarcB 我又坏了!它应该是一个随机代码生成器,我认为我选择的解决方案效果更好......
标签: php performance processing-efficiency memory-efficient