【PHP8.x】uniqid関数の使い方
作成日: 更新日:
uniqid関数は、現在時刻に基づいた一意なID(識別子)を生成する関数です。主に、データベースの主キーのような厳密な一意性が必要な場面ではなく、ファイル名、セッションID、一時的な識別子など、簡潔で重複しにくいIDが必要な状況で利用されます。この関数は、現在のマイクロ秒を基にIDを生成するため、非常に高速に動作します。
引数として、オプションでprefix
とmore_entropy
を受け取ります。prefix
は、生成されるIDの先頭に追加される文字列です。これを指定することで、IDの用途を識別しやすくなるだけでなく、IDの一意性をさらに向上させることができます。例えば、異なる種類のIDに異なるプレフィックスを付けることが可能です。
more_entropy
をtrue
に設定すると、システムの高精度な乱数生成器が用いられ、よりエントロピーの高い(すなわち、より重複しにくい)IDが生成されます。この場合、返されるIDは浮動小数点数を含む文字列となり、より長い形式になります。デフォルトではfalse
に設定されており、より短くシンプルなIDが生成されます。
uniqid
関数によって生成されるIDは、特定の環境下(例えば、同じマイクロ秒内に何度も関数を呼び出す場合)では重複する可能性がゼロではありませんが、ほとんどの一般的な用途において十分な一意性を提供します。返り値は、生成された一意のIDを表す文字列です。
基本的な使い方
構文(syntax)
uniqid(?string $prefix = null, bool $more_entropy = false): string
引数(parameters)
string $prefix = "", bool $more_entropy = false
- string $prefix = "": 生成されるIDの先頭に付加される文字列。デフォルトは空文字列です。
- bool $more_entropy = false: より高いエントロピー(予測不可能性)を持つIDを生成するかどうかを指定するブール値。trueにすると、よりユニークなIDが生成されます。
戻り値(return)
string
ユニークなIDを文字列で生成して返します。