uniqid() 関数を使用して PHP で一意の ID を生成する

WBOY
リリース: 2016-06-21 08:46:17
オリジナル
802 人が閲覧しました

function createId($prefix = "")
{
    $str = md5(uniqid(mt_rand(), true));
    return $prefix . $str;
}

//
uniqid(prefix,more_entropy)
ログイン後にコピー

uniqid() 関数は、マイクロ秒単位の現在時刻に基づいて一意の ID を生成します。

プレフィックス オプション。 ID のプレフィックスを指定します。このパラメータは、2 つのスクリプトが同じマイクロ秒で ID を生成する場合に役立ちます。

more_entropy オプション。戻り値の最後により多くのエントロピーを指定します。

prefix パラメータが空の場合、返される文字列の長さは 13 文字になります。 more_entropy パラメータが true に設定されている場合、長さは 23 文字列になります。

more_entropy パラメーターが true に設定されている場合、追加のエントロピーが戻り値の最後に (結合線形合同生成器を使用して) 追加され、結果がより固有になります。

戻り値

一意の識別子を文字列として返します。

ヒントとメモ

注: システム時間に基づいているため、この関数によって生成される ID は最適ではありません。完全に一意の ID を生成するには、md5() 関数を使用します (文字列関数リファレンスを参照してください)

//

mt_rand() は、メルセンヌ ツイスター アルゴリズムを使用してランダムな整数を返します。

mt_rand(最小値,最大値)

説明

オプションのパラメータ min と max が指定されていない場合、mt_rand() は 0 から RAND_MAX までの擬似乱数を返します。たとえば、5 から 15 までの範囲の乱数が必要な場合は、mt_rand(5, 15) を使用します。

古い libc 乱数ジェネレーターの多くには、不確実で未知の特性があり、速度が遅いです。 PHP の rand() 関数は、デフォルトで libc 乱数ジェネレーターを使用します。 mt_rand() 関数は非公式にこれを置き換えるために使用されます。この関数は、乱数生成器としてメルセンヌ ツイスターの既知の機能を使用しており、libc が提供する rand() よりも平均して 4 倍高速に乱数値を生成できます。



関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート