在阅读了 PHP 中的“ uniqid ”函数之后,我继续编写了以下脚本:
<?php
echo implode(
array_map(
function(){ return dechex(rand(0, 255)); }
, range(0, 15)
)
);
我在这里错过了什么吗?许多其他解决方案似乎过于复杂。
这就是为什么:
<?php
srand(1);
echo implode(
array_map(
function(){ return dechex(rand(0, 255)); }
, range(0, 15)
)
);
在我的机器上,d764c8cce93255c4478d7aa05d83f3ea
每次运行它都会返回(注意srand
我添加的)。如果两个单独的应用程序使用相同的种子运行它,则保证该值不是唯一的。由于 PHP 自动确定种子(自 PHP 4.2.0 起),这可能会发生(不太可能,但可能会发生)。
我知道它已经快 8 年了,但如果你使用 linux,你可以
`uuidgen`