(PHP 4, PHP 5, PHP 7, PHP 8)
array_rand — 配列から一つ以上のキーをランダムに取得する
$array
, int $num
= 1): int|string|array一つ以上のランダムなエントリを配列から取り出し、 取り出したエントリのキーを返します。 この関数が使う疑似乱数生成器は、暗号学的な使い方には適していません。
array
入力の配列。
num
取得するエントリの数を指定します。
エントリを一つだけ取得する場合、
array_rand() はランダムなエントリのキーを返します。
その他の場合は、ランダムなエントリのキーの配列を返します。
これにより、ランダムな値だけではなくランダムなキーも配列から取得できるようになります。
複数のキーが返される場合、配列に格納された順番と同じ順で返されます。
配列の中にある要素数より多くの要素を取り出そうとすると
E_WARNING
レベルのエラーが発生し、NULL を返します。
例1 array_rand() の例
<?php
srand((float) microtime() * 10000000);
$input = array("ネオ", "モーフィアス", "トリニティ", "サイファー", "タンク");
$rand_keys = array_rand($input, 2);
echo $input[$rand_keys[0]] . "\n";
echo $input[$rand_keys[1]] . "\n";
?>
注意: srand() または mt_srand() によりランダム数生成器にシードを与える必要はありません。 これは、この処理が自動的に行われるためです。