SYNCER

SYNCER

array_rand() - 配列から1つ以上の値をランダムに取得する

公開日:

array_randは、配列から1つ以上の要素をランダムに取得する関数です。内部で乱数生成器にシードが自動的に与えられます。

構文

mixed array_rand ( array $array [, int $num = 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()の挙動を確認して下さい。

int(2)

参考リンク

  • PHP - 公式マニュアル。