PHPで英数字を使ったランダムな文字列を作成する方法に関するメモ。
str_shuffleを使えば文字列の順番を入れ替えることができるようです。
PHPで英数字を使ってランダムな文字列を作成する方法
PHPで英数字を使ってランダムな文字列を作成するには以下のようにします。
<?php function random($length) { return substr(str_shuffle('1234567890abcdefghijklmnopqrstuvwxyz'), 0, $length); } ?>
上記の場合だと random()に文字列の長さを指定すれば、「1234567890abcdefghijklmnopqrstuvwxyzを使った指定した文字数の文字列」を取得できます。
また、下記のようにすれば数字のみでランダムな文字列を作れるし、
<?php function random($length) { return substr(str_shuffle('1234567890'), 0, $length); } ?>
下記のようにすれば半角英数字(大文字・小文字)から指定した文字数の文字列を作ることができます。
<?php function random($length) { substr(str_shuffle('1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'), 0, $length); } ?>
ランダムな文字列はユーザーIDを発行する時とか、
推測されにくいパスワードを作りたい時なんかにも便利ですね。