在PHP中生成非重复uuid(v4)的最佳方法是什么

在PHP中生成非重复uuid(v4)的最佳方法是什么,php,guid,uuid,Php,Guid,Uuid,我正在使用下面的函数,它使用了mt_rand,但我相信,它可能会生成一个副本。有更好的方法吗 sprintf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x', mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0x0fff) | 0x4000, mt_rand(0, 0x3fff) | 0x8000, mt_rand(0, 0xffff), mt_rand(0, 0xfff

我正在使用下面的函数,它使用了
mt_rand
,但我相信,它可能会生成一个副本。有更好的方法吗

 sprintf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x', mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0x0fff) | 0x4000, mt_rand(0, 0x3fff) | 0x8000, mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff));

如果您想在PHP中创建真正的UUID v4,那么最好的方法就是使用这个已经过全面测试并被许多其他软件包使用的软件包。

如果您想在PHP中创建真正的UUID v4,那么最好的方法就是使用这个已经过全面测试并被许多其他软件包使用的软件包。

那个问题的副本不能回答我的问题。我特别寻找有关创建非重复项的建议。它不一定是随机的,只是唯一的。我知道你是从哪里来的,问题是‘苗条’=‘可能’,即使它不太可能。我想我可能需要通过数据库执行重复检查。您的代码没有生成UUID4-它没有在所需位置生成UUID4。如果你想要一个非重复的,你能在每次函数调用时自动增加它吗?这个问题的可能重复并不能回答我的问题。我特别寻找有关创建非重复项的建议。它不一定是随机的,只是唯一的。我知道你是从哪里来的,问题是‘苗条’=‘可能’,即使它不太可能。我想我可能需要通过数据库执行重复检查。您的代码没有生成UUID4-它没有在所需位置生成UUID4。如果你想要一个非重复的函数,你能在每次函数调用时自动增加它吗?