関数の概要
PHPの shuffle() 関数は、配列の要素をランダムな順序に並び替えるために使われます。配列の順序をランダムに変えたい場合に非常に便利で、特にゲームのカードシャッフルやランダムな表示の処理などで活用されます。
パラメータの説明
array(必須):シャッフルしたい配列の変数を指定します。参照渡しされるため、関数呼び出し後に元の配列の順序が変更されます。
戻り値
shuffle() 関数は成功すると true を返し、失敗すると false を返します。配列自体は関数の呼び出し時に直接並べ替えられるため、戻り値でシャッフル済み配列を受け取るわけではありません。
使用例
基本的な使い方
<?php
$numbers = [1, 2, 3, 4, 5];
shuffle($numbers);
print_r($numbers);
?>
上記の例では、数字の配列をシャッフルし、ランダムな順番で出力します。実行のたびに配列の順序が異なります。
文字列配列のシャッフル
<?php
$fruits = ['りんご', 'バナナ', 'みかん', 'ぶどう'];
shuffle($fruits);
foreach ($fruits as $fruit) {
echo $fruit . "<br>";
}
?>
果物の名前がランダムに並び替えられ、異なる順番で表示されます。
多次元配列の要素をシャッフルする
<?php
$users = [
['name' => '太郎', 'age' => 25],
['name' => '花子', 'age' => 30],
['name' => '次郎', 'age' => 22],
];
shuffle($users);
print_r($users);
?>
多次元配列の要素も順番が変わります。ユーザーリストをランダムに並べ替えたい時に便利です。
関連する関数
array_rand()– 配列からランダムにキーを取得する関数sort()– 配列を昇順にソートする関数rsort()– 配列を降順にソートする関数array_reverse()– 配列の順序を逆転させる関数
まとめ
shuffle() はPHPで簡単に配列の順序をランダムに並べ替えることができる便利な関数です。元の配列が直接変更されるため、コピーが必要な場合は事前に配列を複製してから使うのがおすすめです。配列操作の基本として覚えておくと、幅広いシーンで応用が効きます。
