※ ChatGPTを利用し、要約された質問です(原文:PHPで作成するジェネレーターでのご質問)
PHPで作成するジェネレーターでのご質問
このQ&Aのポイント
PHPを使用してツイッター診断メーカーに似たジェネレーターを作成しています。しかし、特定の部分の実装方法がわからず困っています。
実装したい機能は、50個の文字列からランダムに1つを選び、10進数に変換してからそれを配列の数で割って余りを求めます。しかし、同じニックネームを入力すると同じ文字列が選ばれる確率が高くなってしまいます。
バラけた結果を得るためのロジックや参考になるサイトがあれば教えてください。お願いします。
以前も相談させていただいたのですが、
ツイッター診断メーカーに似たものを作成しています。
http://shindanmaker.com/
そこである程度は完成したのですが、1点だけどうしても作成方法が分からず、
その部分をご相談させてもらいたいです。
以下にソースコピペします。
//textAraryには50個ほどの文字列が入っています。
$txtNum = count($textArray);
//文字列を10進数に
$num = sprintf("%u",crc32($click));
10進数を配列の数で割り、余りを求める
$i= $num % $txtNum;
$finish = $textArray[$i];
抜粋なのですが、上記のソースで実装するとちゃんと意図した動作するのですが、
診断用の異なるニックネームを何回か入力すると、
かなりの確率でfinishに同じ文字列が抽出されてしまいます。
出来る限り、バラけさせたいのですが、
何か良いロジックはありますでしょうか。
当方頭が回らず、、お知恵を拝借できればと幸いです。。
また、参考になるサイトでも結構ですので、
ご教授の程、よろしくお願いいたします。
お礼
ご回答有難うございます。 頂いた内容で無事解消いたしました!今までからいうとかなり改善されました。 これで問題なく取り組めそうです。 ありがとうございました。