由于uniqid()
根据给定的值提供随机字符串,是否可能,如果是,uniqid('foo')
等于uniqid('foo2')
的可能性是多少?
答案 0 :(得分:1)
uniqid()
不会根据字符串提供随机值。
根据当前时间(以微秒为单位)获取带前缀的唯一标识符。
foo
和foo2
仅用于为值添加前缀。例如,此代码:
echo uniqid('foo') . "\n";
echo uniqid('foo2');
会输出:
foo510aac3bedcdb
foo2510aac3bedd03
只要前缀不同,值就不会发生冲突。但是如果使用相同的前缀,如果2个请求是在相同的微秒进行,则可能发生冲突。如果您担心碰撞,请将第二个参数设置为true
,以便为您的值添加更多熵。