MW211 EXIT

devlog
PHP/配列のランダムな並び替え
2011年11月20日
┌──────────────────────────────────────┐
│shuffle($配列);                                                             │
└──────────────────────────────────────┘
配列から適当に値を取得する場合、添字を乱数で作成する方法もあるが、
「shuffle()」で適当に並び替えて、「$配列[0]」と先頭を取得する方法もある。

こっちだと、乱数で作成する添字の範囲(つまり配列が何件あるか)とか
気にしなくてよく、シンプルにできる。

ただし、並び替えた配列の添字(キー)は新たに割り当てられるので
元の姿をとどめないものだと思って使うべきだ。
(元の姿なんか関係ない場合にはかなり有効)

元の姿をとどめたい場合には、一旦ダミー配列にコピーしてから、
そっちを並び替えればよい。
┌──────────────────────────────────────┐
│$ダミー配列 = 配列;                                                         │
│shuffle($ダミー配列);                                                       │
└──────────────────────────────────────┘
分類:PHP配列