shuffle

配列をシャッフルする

説明

true shuffle(array &$array)

この関数は、配列をシャッフル (要素の順番をランダムに) します。

警告

この関数が生成する値は、暗号学的にセキュアではありません。そのため、これを暗号や、戻り値を推測できないことが必須の値として使っては いけません

暗号学的にセキュアな乱数が必要な場合は、Random\RandomizerRandom\Engine\Secure と一緒に使いましょう。簡単なユースケースの場合、random_intrandom_bytes 関数が、オペレーティングシステムの CSPRNG を使った、 便利で安全な API を提供します。

パラメータ

array

配列。

戻り値

常に true を返します。

変更履歴

バージョン 説明
7.1.0 内部的なランダム化のアルゴリズムが、 libc の rand 関数ではなく、 » メルセンヌツイスタ 乱数生成器 を使うように 変更されました

例1 shuffle の例

<?php
$numbers = range(1, 20);
shuffle($numbers);
foreach ($numbers as $number) {
    echo "$number ";
}
?>

注意

注意: この関数は、 array パラメータの要素に対して新しいキーを割り当てます。 その際、単純にキーを並べ替える代わりに、 すでに割り当てられている既存のキーを削除してしまいます。

注意:

この関数をコールすると、配列の内部ポインタは最初の要素にリセットされます。

参考