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追加したことに注意してください)。2 つの別個のアプリケーションが同じシードで実行する場合、値は一意ではないことが保証されます。PHP はシードを自動的に決定するため (PHP 4.2.0 以降)、これが発生する可能性があります (可能性は低いですが、発生する可能性があります)。

于 2012-06-29T01:01:16.453 に答える