質問: $arr ['ウル','トラ','ソウル']; $key array_rand($arr); $a $arr[$key[0]]; $b $arr[$key[1]]; $c $arr[$key[2]]; echo $a.$b.$c."\n";
回答: RTFM. array_randの第二引数を省略した場合は 1(var_dump($key); を実行してみればわかると思う) 3つ全部取得するなら $key = array_rand($arr, count($arr)); だけど,そうなるとランダムにはならない(そのままキーが抜き出されるだけ) 1つ取得を x3 しても同じキーが重複する可能性もあるしねぇ.そもそもの方針が間違っているとしか言いようがない あえて書くなら $key = array_keys($arr); shuffle($key); だろうかね こっちの方針じゃダメなの?