今回はランダムな数字を取得する方法について、主にrandメソッドについて解説します。
ランダムな数値
はじめに、1から100までの中でランダムな数値が作成してみます。
引数に最小値と最大値を渡すことで、範囲を指定することが可能です。
$random_number = rand(1, 100);
奇数や偶数の乱数を生成したいときは次のようにします。
$random_number = rand(1, 50)*2; //1から100までの中の偶数
$random_number = rand(1, 50)*2-1; //1から99までの中の奇数
配列の中のランダムな値
数値以外の指定した配列の中からランダムに取り出すときは以下のようにするといいでしょう。
$hash = array('田中さん', '山本さん', '高橋さん','鈴木さん');
$key = array_rand($hash);
$random_person = $hash[$key];
ランダムな文字列
一文字ずつランダムな文字列を作りたいときはsubstr()
とstr_shuffle()
を使いましょう。
substr(str_shuffle(利用する文字, 0, 生成する文字数);
英字のみで8文字の文字列が生成されます。
パスワードの作成なんかに使えますね。
$str = 'abcdefghijklmnopqrstuvwxyz';
$random_str = substr(str_shuffle($str), 0, 8);
同じ文字の重複を許す場合はstr_repeat()
を使います。
第二引数には文字列を反復する回数を指定しています。
$str = 'abcdefghijklmnopqrstuvwxyz';
$rand_str = substr(str_shuffle(str_repeat($str, 10)), 0, 8);
まとめ
以上になります。ぜひ参考にしてみてください。