(PHP 4, PHP 5, PHP 7, PHP 8)
shuffle — 配列をシャッフルする
この関数は、配列をシャッフル (要素の順番をランダムに) します。
この関数が生成する値は、暗号学的にセキュアではありません。そのため、これを暗号や、戻り値を推測できないことが必須の値として使っては いけません。
暗号学的にセキュアな乱数が必要な場合は、Random\Randomizer を Random\Engine\Secure と一緒に使いましょう。簡単なユースケースの場合、random_int() と random_bytes() 関数が、オペレーティングシステムの CSPRNG を使った、 便利で安全な API を提供します。
この関数は、乱数のソースとしてグローバルな Mt19937 (メルセンヌ・ツイスター) インスタンスを使用するため、グローバルな Mt19937 を使用する他のすべての関数と状態を共有します。 これらの関数のいずれかを使用すると、スコープに関係なく、すべての他の関数のシーケンスも進みます。
mt_srand() または srand() に既知の値を指定してシードすることで再現可能なシーケンスを生成する場合、この関数からの出力も再現可能になります。
新しく書くコードでは、すべて Random\Randomizer のメソッドを使用することを推奨します。
array配列。
常に true を返します。
例1 shuffle() の例
<?php
$numbers = range(1, 20);
shuffle($numbers);
foreach ($numbers as $number) {
echo "$number ";
}
?>注意: この関数は、
arrayパラメータの要素に対して新しいキーを割り当てます。 その際、単純にキーを並べ替える代わりに、 すでに割り当てられている既存のキーを削除してしまいます。
注意:
この関数をコールすると、配列の内部ポインタは最初の要素にリセットされます。