0

在阅读了 PHP 中的“ uniqid ”函数之后,我继续编写了以下脚本:

<?php
echo implode(
    array_map(
        function(){ return dechex(rand(0, 255)); }
        , range(0, 15)
    )
);

我在这里错过了什么吗?许多其他解决方案似乎过于复杂。

4

2 回答 2

1

这就是为什么:

<?php
srand(1);
echo implode(
    array_map(
        function(){ return dechex(rand(0, 255)); }
        , range(0, 15)
    )
);

在我的机器上,d764c8cce93255c4478d7aa05d83f3ea每次运行它都会返回(注意srand我添加的)。如果两个单独的应用程序使用相同的种子运行它,则保证该值不是唯一的。由于 PHP 自动确定种子(自 PHP 4.2.0 起),这可能会发生(不太可能,但可能会发生)。

于 2012-06-29T01:01:16.453 回答
0

我知道它已经快 8 年了,但如果你使用 linux,你可以

`uuidgen`
于 2020-03-25T23:30:36.337 回答