array_rand() - 配列から1つ以上の値をランダムに取得する
公開日:
array_rand
は、配列から1つ以上の要素をランダムに取得する関数です。内部で乱数生成器にシードが自動的に与えられます。
構文
パラメータ
$array
対象の配列。
$num
初期値: 1
取得する要素の数。
返り値
mixed
取得する要素を1つにした場合、ランダムに取得したキーが返ります。2つ以上にした場合、ランダムに取得した複数のキーの配列が返ります。
サンプルコード
ランダムで要素を取得する
ランダムで要素を1つ取得します。取得できるのは値ではなくキー名だということにご注意下さい。
php
<?php
// 配列
$queue = [ "a", "b", "c", "d", "e" ] ;
// 実行
$result = array_rand( $queue ) ;
// 返り値
var_dump( $result ) ;
結果 (出力内容) - PHP7.0.21
int(0)
2つ以上の要素を取得する
第3引数で取得する数を指定できます。複数のキーを取得する場合、配列になる点にご注意下さい。
php
<?php
// 配列
$queue = [ "a", "b", "c", "d", "e" ] ;
// 実行
$result = array_rand( $queue, 3 ) ;
// 返り値
var_dump( $result ) ;
結果 (出力内容) - PHP7.0.21
array(3) {
[0]=>
int(1)
[1]=>
int(3)
[2]=>
int(4)
}
サンドボックス
ソースコードを編集してarray_rand()
の挙動を確認して下さい。
参考リンク
- PHP - 公式マニュアル。