ホームページ  >  記事  >  バックエンド開発  >  PHPで標準の一意のuuidを生成する方法

PHPで標準の一意のuuidを生成する方法

WBOY
WBOYオリジナル
2016-06-23 13:41:132935ブラウズ

方法 1: PHP 組み込み関数 uniqid()

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

構文

uniqid(prefix,more_entropy)
パラメータ 説明
prefix オプション。 ID のプレフィックスを指定します。このパラメータは、2 つのスクリプトが同じマイクロ秒で ID を生成する場合に役立ちます。
more_entropy オプション。戻り値の最後により多くのエントロピーを指定します。

説明

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

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

戻り値

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

ヒントと注意事項

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

<?phpecho uniqid();?>

出力は次のようになります:

4415297e3af8c


方法 2: PHP 組み込み関数 com_create_guid()

com_create_guid 関数はグローバルに一意の識別子を生成します同様: { E787D6 2D-4B4D -492C-9301 -6FFD53A1F2D7} のような文字列の場合、trim 関数または他のメソッドを使用して中括弧を処理できます。つまり、trim(com_create_guid(), '{}');方法 3: データベース関数を使用する

たとえば、php が mysql に接続するとき、mysql_query("select uuid() as uid"); を使用して一意の ID を取得するか、次のような一意の文字列を取得できます。 1032-b525-fe3407868e36



メソッド: その他のカスタム文字列または関数の組み合わせ
たとえば、マイクロ秒またはタイムスタンプと乱数の組み合わせを使用して、次のような一意の ID を生成します: md5(time() . mt_rand (1,1000000));

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。