※ ChatGPTを利用し、要約された質問です(原文:現在PHPで診断メーカー的なものを作成しています。)
PHP診断メーカー作成時に発生する数字の重複問題について
このQ&Aのポイント
PHPを使用して診断メーカーを作成している際、名前に対応した固定文字列を配列から3つ抽出する必要があります。
しかし、現在の方法では入力された名前によってi、i2、i3が重複する可能性があります。
これを回避するための方法をご教示いただけないでしょうか。
現在PHPで診断メーカー的なものを作成しています。
現在PHPで診断メーカー的なものを作成しています。
そこで、PHPの技術的なことでご質問です。
//$textArrayには50個程の文字列が入っています。
$txtNum = count($textArray);
//$clickは入力された名前です。
$num = sprintf("%u",crc32($click));
//1個目の度の番号
$i= $num % $txtNum;
//2個目の度の番号
$num2 = sprintf("%u",crc32($textArray[$i]));
$i2 = $num2 % $txtNum;
//3個目の度の番号
$num3 = sprintf("%u",crc32($textArray[$i2]));
$i3 = $num3 % $txtNum;
echo $i.'--'.$i2.'--'.$i3;
上記のように、名前に対して固定された文字列を配列から3つ抽出しています。
i,i2,i3ともにそれぞれ被らない数字にしたいのですが、上記のようにやると入力された名前によってはi,i2,i3でそれぞれ数字が被る場合があります。
これを被らないようにするには何か方法がありますでしょうか。
10進数を剰余代入することで、配列の中の数の範囲内で数字を抽出しています。
ばったりと詰まってしまい、ヒント等もらえますと幸いです。
よろしくお願いします。