ホームページ > バックエンド開発 > PHPチュートリアル > PHP uniqid 関数を使用して一意の ID を生成する、phpuniqid 関数 id_PHP チュートリアル

PHP uniqid 関数を使用して一意の ID を生成する、phpuniqid 関数 id_PHP チュートリアル

WBOY
リリース: 2016-07-12 09:04:27
オリジナル
991 人が閲覧しました

一意の ID、phpuniqid 関数 id を生成するには、PHP の uniqid 関数を使用します

一意の ID を生成するアプリケーション シナリオは、一時キャッシュ ファイル名、一時変数、一時セキュリティ コードなど、非常に一般的です。uniqid() 関数は次のとおりです。マイクロ秒単位の現在値に基づいて、一意の ID を生成します。一意の ID の生成はマイクロ秒の時間に関連付けられているため、ID の一意性は非常に信頼できます。

生成された一意の ID によって返される文字列は、デフォルトでは 13 文字列の長さです。一意の ID のプレフィックスが定義されていない場合、md5() 関数と組み合わせると、最大 23 文字列の長さを返すことができます。一意の ID はより高くなりますが、ランダム ID に比べてこの生成された ID の最大の利点は、特にデータベースに保存する必要がある一部の値については並べ替えできることです。

1. 関数のプロトタイプ

リーリー

一意の ID のプレフィックスと長さを定義できます

2番目、バージョンの互換性

PHP 3、PHP 4、PHP 5

3. 基本的な使い方と機能例

1、一意のIDを生成します

リーリー

2、md5() 関数と組み合わせて一意の ID を生成します

リーリー

出力: dfbc5c8c6438de075da28b3c8a413fd0

3、マイクロ秒単位で測定されるため、複数の一意の ID を生成します

リーリー

出力:

4bfd0e375396b
4bfd0e3753981
4bfd0e3753983

生成された結果から判断すると、一意の ID はソート可能です。
uniqid() 関数を使用して一意の ID を生成すると、一時的な ID と永続的な一意の ID (ストレージ データベース) の両方を生成できます。

ps: php で一意の ID を生成するためのいくつかのソリューション

以下のエディターはあなたのために 3 つの解決策をまとめました。具体的な内容は次のとおりです:

1, md5(time() . mt_rand(1,1000000));

この方法は一定の確率で繰り返されます

2. PHP組み込み関数uniqid()

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

w3schoolリファレンスマニュアルには「システム時刻に基づいているため、この関数で生成されるIDは最適ではありません。絶対に一意なIDを生成する必要がある場合は、md5()関数を使用してください。」という一文があります。

次のメソッドは同様の結果を返します: 5DDB650F-4389-F4A9-A100-501EF1348872

リーリー

com_create_guid() は一意の ID を生成するための PHP 独自のメソッドで、PHP5 以降は使用できなくなったようです。

3. 公式の uniqid() リファレンス マニュアルにはユーザーが提供したメソッドが含まれており、結果は同様です: {E2DFFFB3-571E-6CFC-4B5C-9FEDAAF2EFD7}

れーれー

http://www.bkjia.com/PHPjc/1073132.htmlwww.bkjia.com本当http://www.bkjia.com/PHPjc/1073132.html技術記事 PHP uniqid 関数を使用して一意の ID を生成します。phpuniqid 関数 id を使用して一意の ID を生成するアプリケーション シナリオは、一時キャッシュ ファイル名、一時変数、一時セキュリティ コードなど、uniqid() 関数ベースなど、非常に一般的です。 .
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート