PHPのshuffle()
ってホラ、あれですよね?
キーを張り替えて混ぜてるから、キーが連番で振り直されちゃうっていう。
やはりキーを維持したまま混ぜたい時もあるんで、ashuffle()とかは無いし、どうするよって思ってやってみたら1行で実現できたのでメモ。
uasort($a, function() { return mt_rand(-1, 1); });
テストコードはこちら。
$a = array(
'a' => 'aaaa',
'b' => 'bbbb',
'c' => 'cccc',
'd' => 'dddd',
'e' => 'eeee',
'f' => 'ffff',
);
print_r($a);
uasort($a, function() { return mt_rand(-1, 1); });
print_r($a);
無名関数使ってるんで、PHPは5.3以降でオネシャス。
コメント