如何在PHP中生成随机且唯一的14位代码?

时间:2018-08-21 21:22:46

标签: php

我需要在PHP中生成数百万个固定长度为14的随机,唯一和纯数字代码。有什么方法可以这样做?我考虑过使用microtime,但是数字的长度可能会有所不同。

1 个答案:

答案 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的论点:

  

真正的随机性不能保证唯一性。