一意で重複しない識別子を生成するには、主に現在時刻を使用し、それを md5 値に変換します。これにより、ラベルの一意性がほぼ保証されます。PHP で重複しない識別子を生成するためのプログラム コードをいくつか示します。
php 組み込み関数 uniqid()
## uniqid() 関数は、現在の時間をマイクロ秒単位で指定し、一意の ID を生成します。 (推奨学習: PHP プログラミングの入門から習熟まで )
w3school リファレンス マニュアルには次の文があります。関数によって生成された ID は最適ではありません。完全に一意の ID を生成するには、md5() 関数を使用してください。次のメソッドは同様の結果を返します: 5DDB650F-4389-F4A9-A100-501EF1348872
function uuid() { if (function_exists ( 'com_create_guid' )) { return com_create_guid (); } else { mt_srand ( ( double ) microtime () * 10000 ); //optional for php 4.2.0 and up.随便数播种,4.2.0以后不需要了。 $charid = strtoupper ( md5 ( uniqid ( rand (), true ) ) ); //根据当前时间(微秒计)生成唯一id. $hyphen = chr ( 45 ); // "-" $uuid = '' . //chr(123)// "{" substr ( $charid, 0, 8 ) . $hyphen . substr ( $charid, 8, 4 ) . $hyphen . substr ( $charid, 12, 4 ) . $hyphen . substr ( $charid, 16, 4 ) . $hyphen . substr ( $charid, 20, 12 ); //.chr(125);// "}" return $uuid; } }
php メソッドでグローバル一意識別子 (GUID) を生成します
GUID は空間と時間において一意であり、同時に異なる場所で生成された異なる番号が異なることを保証します。
世界中の 2 台のコンピューターが重複した GUID 値を生成することはありません。 GUID が必要な場合、アルゴリズムによって完全に自動的に生成できるため、権限のある組織による管理は必要ありません。 GUID は固定長で比較的短いため、並べ替え、識別、保管に非常に適しています。rree
以上がphpは一意のIDを生成しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。