array_rand
配列から一つ以上のキーをランダムに取得する
&reftitle.description;
intstringarrayarray_rand
arrayarray
intnum1
一つ以上のランダムなエントリを配列から取り出し、
取り出したエントリのキーを返します。
&caution.cryptographically-insecure;
&reftitle.parameters;
array
入力の配列。
空配列にはできません。
num
取得するエントリの数を指定します。
1以上 array の要素数以下である必要があります。
&reftitle.returnvalues;
エントリを一つだけ取得する場合、
array_rand はランダムなエントリのキーを返します。
その他の場合は、ランダムなエントリのキーの配列を返します。
これにより、ランダムな値だけではなくランダムなキーも配列から取得できるようになります。
複数のキーが返される場合、配列に格納された順番と同じ順で返されます。
&reftitle.errors;
array が空か num が範囲外の値の場合に、
ValueError がスローされます。
&reftitle.changelog;
&Version;
&Description;
8.0.0
num が範囲外の値の場合に、
ValueError がスローされるようになりました。
これより前のバージョンでは、
E_WARNING が発生し、&null; を返していました。
8.0.0
array が空の場合に、
ValueError がスローされるようになりました。
これより前のバージョンでは、
E_WARNING が発生し、&null; を返していました。
7.1.0
内部的なランダム化アルゴリズムは、
libc の rand 関数ではなく、
メルセンヌツイスタ
乱数生成器を使うように
変更されました
&reftitle.examples;
array_rand の例
]]>
&reftitle.notes;
¬e.randomseed;
&reftitle.seealso;
Random\Randomizer::pickArrayKeys
Random\Randomizer::shuffleArray