array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'function.shuffle.php', 1 => 'shuffle', ), 'up' => array ( 0 => 'ref.array.php', 1 => '配列 関数', ), 'prev' => array ( 0 => 'function.rsort.php', 1 => 'rsort', ), 'next' => array ( 0 => 'function.sizeof.php', 1 => 'sizeof', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ja', 'path' => 'reference/array/functions/shuffle.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
shuffle — 配列をシャッフルする
この関数は、配列をシャッフル (要素の順番をランダムに) します。
この関数が生成する値は、暗号学的にセキュアではありません。そのため、これを暗号や、戻り値を推測できないことが必須の値として使っては いけません。
暗号学的にセキュアな乱数が必要な場合は、Random\Randomizer を Random\Engine\Secure と一緒に使いましょう。簡単なユースケースの場合、random_int() と random_bytes() 関数が、オペレーティングシステムの CSPRNG を使った、 便利で安全な API を提供します。
array
配列。
常に true
を返します。
例1 shuffle() の例
<?php
$numbers = range(1, 20);
shuffle($numbers);
foreach ($numbers as $number) {
echo "$number ";
}
?>
注意: この関数は、
array
パラメータの要素に対して新しいキーを割り当てます。 その際、単純にキーを並べ替える代わりに、 すでに割り当てられている既存のキーを削除してしまいます。
注意:
この関数をコールすると、配列の内部ポインタは最初の要素にリセットされます。