テクノモンキーのアプリ開発日記

テクノモンキーの開発ブログです。iOS、Android、Unity、Cocos2d-xなどアプリ開発関連のTipsやアプリ開発に役立つ情報を発信します。

【PHP】英数字を使ってランダムな文字列を作成する方法

https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcScS4wA_hHDvXFFZ3TjpEzxjO8fTpH39SDiNRpr17PhmIdfKgGDgA


PHPで英数字を使ったランダムな文字列を作成する方法に関するメモ。

str_shuffleを使えば文字列の順番を入れ替えることができるようです。

www.php.net



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を発行する時とか、
推測されにくいパスワードを作りたい時なんかにも便利ですね。