shuffle関数

関数 shuffle は、配列の要素をランダムな順序になるように シャッフルします。この関数は配列自体を変更します: これは、関数の結果をどこにも代入する必要がないことを意味します - 変更は配列自体に対して行われます。

構文

phpshuffle(array &$array): bool

例

配列の要素をランダムな順序でシャッフルしてみましょう:

php<?php
  $arr = [1, 2, 3, 4, 5];
  
  shuffle($arr);
  var_dump($arr);
?>

例 . 応用

1 から 10 までの数字を、ランダムな順序で かつ重複なく配列に格納してみましょう。そのためには、 range を使って 1 から 10 までの数字の配列を生成し、 shuffle を使ってシャッフルします:

php<?php
  $arr = range(1, 10);
  
  shuffle($arr);
  var_dump($arr);
?>

例 . 応用

1 から 10 までのランダムな数字で埋められた ul リストを作成しましょう:

php<?php
  $arr = range(1, 10);
  shuffle($arr);
  
  echo '<ul>';
  foreach ($arr as $elem) {
    echo '<li>' . $elem . '</li>';
  }
  echo '</ul>';
?>

関連項目

  • 文字列の文字をランダムな順序でシャッフルする関数 str_shuffle
  • 配列からランダムな値を選択する関数 array_rand
  • 乱数を生成する関数 mt_rand