人工無脳ユウヤ - 30日目(ランダムで同じ数字ばかり出る件)

一か月が立ちました。ユウヤ君がはてなハイク市民に…
さて、今の問題はランダム数値です。
ランダム数値を設定しても奇跡が起きて同じ発言しかしない…とか。テストだと6回に1回ぐらいなんだけどなぁ…
ちなみにランダムはこんな感じでやってます。

echo $word[rand(0,count($word)-1)];

しかし20個要素があるのに二回連続同じことを言ったりするので侮れない…
うーん、かといってこんな情報を保存するのも面倒だしなぁ…
なんかいい方法ないかなー…

追記ー
ランダム検証

	$rnd = "";
	for($i=0;$i<20;$i++){
		$rnd .= rand(1,20)."、";
	}

結果。
一回目 15、6、3、18、9、19、1、18、18、19、7、15、15、2、7、17、20、11、18、4、
二回目 14、16、10、20、17、11、16、19、17、10、19、19、4、7、9、12、2、7、20、16、
三回目 5、3、8、4、5、18、8、18、2、13、17、20、8、2、4、1、6、11、4、18、
ひどくない?これ…同じ数字ばっかりだよ…
まず一回目。18、18と連続で同じ数字が来てます。
18を引く確率は1/20個だから5%。それを二回だから0.05*0.05=0.0025…つまり0.25%。
まあ20回表示してるので起こりうる確率は大体5%なんですけど。
しかし一回目はそれが二つもあるし、なんだかなぁ…
いや、それがランダムって意味でしょや?って言われるとうんそうだねとしか言えないんだけど…

	$rnd = "";
	for($i=0;$i<20;$i++){
		$rD = range(1,20);
		shuffle($rD);
		$rnd .= $rD[0]."、";
	}

shuffleを使ってみた。
結果。
一回目 10、14、2、11、5、3、10、15、9、19、19、19、8、17、13、18、20、20、8、11、
二回目 14、17、4、10、13、16、11、1、12、1、13、13、10、11、3、19、18、7、3、10、
三回目 10、18、12、17、4、12、17、8、10、6、11、3、19、8、5、9、5、1、8、20、
一回目の19三連弾ww
全く変わらなかった…

	$rnd = "";
	for($i=0;$i<20;$i++){
		$rD = range(1,20);
		shuffle($rD);
		$rnd .= $rD[rand(0,19)]."、";
	}

いやまあただぐしゃぐしゃにしたら変わるかなと思って…
結果。
一回目 1、12、8、14、5、15、13、18、1、18、18、15、8、19、8、12、1、20、1、2、
二回目 10、20、12、9、20、7、15、20、15、7、6、10、8、15、14、20、13、13、14、19、
三回目 13、7、3、15、14、5、20、14、7、14、2、4、2、15、2、7、8、18、5、1、
11、16、17の三つの数字が出てない。これはひどい


やっぱ前の値を保持しないとだめかも…はぁ…