スポンサーリンク
技術記事

PHPでユニークなIDを作る方法

 

プログラムを書いていると、ユニークなIDを作る時って結構ありますよね

なぜユニークなIDでないとダメかというと、全部同じような名前だったら、ファイルや変数をうわがいてしまう危険性があるからです。

 

今回は、ユニークなIDの作り方のメモ。

 

PHPにはユニークなIDを作成してくれる関数がもうあります。

 

$uniqid = uniqid();

ただこれだけだと、同時にIDを作成してしまうと、全く同じIDが作られてしまいます。

 

ならどうするか?

$uniqid = uniqid(rand());

引数に乱数を作り出すrand関数を入れてあげましょ。

uniqid関数の引数は、ユニークIDの頭に引数の値をくっつけてくれます。

 

ただrand関数は、ものすごく低速で、あまり推奨されていないようで、代わりにmt_rand関数を使います。

$uniqid = uniqid(mt_rand());

mt_rand関数は、rand関数の代替で、なんとそのスピードは4倍以上だとか。

 

ただこれだと、乱数の桁が一定に保たれませんので、

乱数の桁も合わせてあげましょう。

 

$uniqid = uniqid(mt_rand(1000, 9999));

 

これで、乱数の桁が1000 から9999の間で作成されるようになりました。

 

ぜひお試しあれー