猿问

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

我一直在使用函数uniqid(),但我在想,PHP函数是否可以uniqid()两次生成相同的随机名称?

我随处看到的答案是否定的,但为什么呢?为什么不能生成以前因错误而生成的名称。我的意思是它可能会生成一个之前生成的名称,即使它像这样设置为 true => uniqid('', true),它可能会巧合地生成相同的名称?


慕田峪7331174
浏览 133回答 3
3回答

慕容森

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

江户川乱折腾

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

一只甜甜圈

我的回答是可以,但不实用。就像没有两片雪花是一样的说法一样,这种情况可能会发生,但任何人注意到的可能性都非常小?当您查看赔率时,我们谈论的是在阳光明媚的日子里站在金属庇护所下被闪电击中的赔率。https://www.php.net/manual/en/function.uniqid.php如果你想做数学,请随意。
随时随地看视频慕课网APP
我要回答