私が達成したいのは、MySQLDBから毎回異なるコンテンツを生成するWebページを作成することです。しかし、rand()関数を使用すると、いくつかのオプションが繰り返される可能性があります。だから私がやりたいのは、ウェブページのコンテンツが生成されるたびに更新される動的配列「例外」を使用してrand()関数を作成することです。これにより、すべてのオプションがユーザーに1回だけ表示されます。
5つの異なるオプション1、2、3、4、5があるとしましょう
次回rand()関数が3を選択した場合、結果として3を取得する可能性はありません。
function randWithout($from, $to, array $exceptions) {
sort($exceptions);
$number = rand($from, $to - count($exceptions));
foreach ($exceptions as $exception) {
if ($number >= $exception) {
$number++;
} else {
break;
}
}
return $number;
}
$exceptions = array("3","4");
$random = randWithout(1, $num_rows, $exceptions);
これは私が望むことを行いますが、配列「$exceptions」を毎回更新したいです...
セッションまたは他のオプションを使用してこれを行う方法はありますか?別のMySQLテーブルを使用したくない..高速でシンプルにしたい
ありがとうございました