twitter facebook

PHP の連想配列で2次元目だけをシャッフルしたい

以下のような多次元の連想配列があったとして
2次元目だけをランダムにシャッフルしたい場合
shuffle 関数という便利な関数があります。
Array
(
    [11301] => Array
        (
            [0] => 27572
            [1] => 26225
            [2] => 26156
            [3] => 25866
            [4] => 17762
            [5] => 27220
            [6] => 27227
            [7] => 27382
            [8] => 27428
        )

    [11303] => Array
        (
            [0] => 27572
            [1] => 24151
        )

    [11332] => Array
        (
            [0] => 27572
            [1] => 26225
            [2] => 26991
        )
)
まず $tmp に 上記の配列はいってるとします。
// 
		
foreach ($tmp as $key => $val) {
	shuffle($tmp[$key]);
}

print_r($tmp) ;
print_r($tmp) の結果は以下です。
Array
(
    [11301] => Array
        (
            [0] => 17762
            [1] => 27428
            [2] => 27572
            [3] => 27220
            [4] => 27382
            [5] => 26156
            [6] => 27227
            [7] => 26225
            [8] => 25866
        )

    [11303] => Array
        (
            [0] => 24151
            [1] => 27572
        )

    [11332] => Array
        (
            [0] => 26225
            [1] => 27572
            [2] => 26991
        )

)
AUTHOR
@えのえの
最終更新日 2025/01/12
FAVORITE good stock
LINK TAG
記法を見る
1738496053