【PHP】連想配列をキーと値の関係を保持してランダムにソートする!
なんかこうPHPの連想配列をランダムにソートしたいっす。
時代はランダムっす。もうなんか全部シャッフルしてきたいっす。
人生も何が起こるかわからないっす。全てが偶然であり必然っす。
みたいな事ってたまーに考えたりしますよね。
「え〜全然意味わかんな〜い。」
「むっ!」
プログラミングやWordPressを習得するのに一番近道な方法とは?
【PHP】連想配列をキーと値の関係を保持してランダムにソートする!
本題ですが、PHPで連想配列を毎回ランダムにソートしたいって言う時にまず使えそうな関数として
shuffleがあるかと思います。
しかし、このshuffleさんはなんとKEYと値の関係性を保持してくれないんですね。。。
「そんなの連想配列じゃダメじゃん。使えねーじゃん。」
そうなんです。普通の配列では使える関数ですが、連想配列ではビミョーな関数になってしまいます。
そんな時に役立つ関数を下記にご紹介。
連想配列でもOKなシャッフルソート関数
1 2 3 4 5 6 7 8 9 10 | function shuffle_assoc($list) { if (!is_array($list)) return $list; $keys = array_keys($list); shuffle($keys); $random = array(); foreach ($keys as $key) { $random[$key] = $list[$key]; } return $random; } |
こいつを使えば連想配列でもKEYと値の関係性を保持しながらランダムにソートしてくれます!
いやー、良かったよかった。
きっと彼女もこう言って喜んでくれるはず。
「ふ〜ん、それで?」
「むっ!」