スポンサーリンク
プログラムを書いていると、ユニークな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の間で作成されるようになりました。
ぜひお試しあれー