为了账号安全,请及时绑定邮箱和手机立即绑定

PHP 函数 uniqid() 是否可以生成两次相同的名称?

PHP 函数 uniqid() 是否可以生成两次相同的名称?

PHP
慕田峪7331174 2023-10-01 17:15:23
我一直在使用函数uniqid(),但我在想,PHP函数是否可以uniqid()两次生成相同的随机名称?我随处看到的答案是否定的,但为什么呢?为什么不能生成以前因错误而生成的名称。我的意思是它可能会生成一个之前生成的名称,即使它像这样设置为 true => uniqid('', true),它可能会巧合地生成相同的名称?
查看完整描述

3 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

警告 该函数不保证返回值的唯一性。由于大多数系统通过NTP等方式调整系统时钟,系统时间不断变化。因此,该函数可能不会返回进程/线程的唯一 ID。使用 more_entropy 来增加唯一性的可能性。

— https://www.php.net/uniqid


查看完整回答
反对 回复 2023-10-01
?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

除非您正在处理两个或多个线程可能在同一微秒内同时调用此函数的“相当极端的边缘情况”……我会说“您的担心毫无根据”。



查看完整回答
反对 回复 2023-10-01
?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

我的回答是可以,但不实用。

就像没有两片雪花是一样的说法一样,这种情况可能会发生,但任何人注意到的可能性都非常小?

当您查看赔率时,我们谈论的是在阳光明媚的日子里站在金属庇护所下被闪电击中的赔率。

https://www.php.net/manual/en/function.uniqid.php

如果你想做数学,请随意。


查看完整回答
反对 回复 2023-10-01
  • 3 回答
  • 0 关注
  • 116 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信