我想要实现的是制作每次从 MySQL DB 生成不同内容的网页。但是当我使用 rand() 函数时,一些选项可以重复。所以我想做的是使用动态数组“异常”制作rand()函数,每次生成网页内容时都会更新,所以每个选项只显示给用户一次..
假设我有 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 表.. 我希望它快速简单
谢谢