我需要在PHP中生成数百万个固定长度为14的随机,唯一和纯数字代码。有什么方法可以这样做?我考虑过使用microtime,但是数字的长度可能会有所不同。
答案 0 :(得分:0)
也许是这样吗?
function generateByLoop()
{
$string = '';
for($i = 0; $i < 14; $i++) {
$value = (string) random_int(0,9);
if ($i === 0) {
$value = (string) random_int(1,9);
}
$string = $string . $value;
}
return $string;
}
如果您问我,似乎有点工程过度,但是很好。这是基于微时间的另一种解决方案(不涉及随机性,但是可以使用多快?)
function generateByMicrotime() {
$microtime = microtime(true);
$microtime = str_replace('.', '', $microtime);
echo (substr($microtime, 0, 14));
}
尽管我必须同意@Anthony的论点:
真正的随机性不能保证唯一性。