php でランダムな文字列や乱数を生成する方法
2017/6/10
文書番号:20741
PHP でランダムな文字列や乱数を生成する方法です。
ランダムなパスワードを生成する場合などに使用できます。
英字(大文字小文字混在)のランダムな文字列を生成するサンプルです。
// ランダムな文字列を生成します (英字のみ)
// $length: 生成する文字列の長さを指定します
function CreateRandomString($length) {
$str = array_merge(range('a', 'z'), range('A', 'Z"'));
for ($i = 0; $i < $length; $i++) {
$result .= $str[rand(0, count($str)-1)];
}
return $result;
}
// ランダムな文字列を生成します (英字と数値)
// $length: 生成する文字列の長さを指定します
function CreateRandomString($length) {
$str = array_merge(range('a', 'z'), range('A', 'Z"'), range('0', '9'));
for ($i = 0; $i < $length; $i++) {
$result .= $str[rand(0, count($str)-1)];
}
return $result;
}
// ランダムな文字列を生成します (数値のみ)
// $length: 生成する文字列の長さを指定します
function CreateRandomString($length) {
$str = array_merge(range('0', '9'));
for ($i = 0; $i < $length; $i++) {
$result .= $str[rand(0, count($str)-1)];
}
return $result;
}
この部分で設定した文字の中からランダムに抽出した文字を使いますので、ここを調整することで任意の文字の中でランダムな文字列を生成することができます。
例えば半角英字のみでランダムな文字列を生成する、「a~e」の文字だけで構成するランダムな文字列を生成する。などのような変則的な文字列を生成することもできます。