php shuffleを使って配列内の値をランダムに入れ替える

  • 作成日 2021.09.26
  • php
php shuffleを使って配列内の値をランダムに入れ替える

phpで、shuffleを使用して、配列内の値をランダムに入れ替えるサンプルコードを記述してます。phpのバージョンは8.0です。

環境

  • OS  CentOS Linux release 8.0.1905 (Core)
  • php 8.0.0
  • nginx 1.14.1

shuffle使い方

shuffleを使用すれば、配列内の値をランダムに入れ替えることが可能です。

$result = shuffle(配列);
// 戻りは成功時は true , 失敗時は false

以下は、配列内の値をランダムに入れ替えるサンプルコードとなります。

<?php

$arr = ["aaa", "bbb", "ccc", "ddd", "eee"];

$result = shuffle($arr);

var_dump($result); // bool(true)

print_r($arr);

実行結果

Array
(
    [0] => ccc
    [1] => ddd
    [2] => aaa
    [3] => eee
    [4] => bbb
)

連想配列の場合は、キーと値の関連性はなくなります。

<?php

$arr = ["a" => "aaa", "b" => "bbb", "c" => "ccc", "d" => "ddd", "e" => "eee"];

$result = shuffle($arr);

var_dump($result); // bool(true)

print_r($arr);

実行結果

Array
(
    [0] => eee
    [1] => bbb
    [2] => ccc
    [3] => ddd
    [4] => aaa
)

二次元配列にも使用可能です。

<?php

$arr = [[1, 2], [3, 4], [5, 6]];

$result = shuffle($arr);

var_dump($result); // bool(true)

print_r($arr);

実行結果

Array
(
    [0] => Array
        (
            [0] => 3
            [1] => 4
        )

    [1] => Array
        (
            [0] => 5
            [1] => 6
        )

    [2] => Array
        (
            [0] => 1
            [1] => 2
        )

)