我在 MySQL 数据库中有一组具有唯一 ID 的问题。 用户也有一个唯一的 ID,将回答这些问题,他们的答案将保存在数据库中。
现在,我希望用户根据用户 ID 从可用问题池(假设 50 个)中随机选择 5 个非重复问题。因此,当 ID 为 10 的用户开始回答他的问题,但停止并想稍后返回同一页面时,他将得到与之前相同的问题。 ID 为 11 的用户将得到一组不同的随机问题,但对他来说总是相同的,并且与所有其他用户不同。
我发现 random.org 可以使用他们的序列生成器生成我需要的内容,该生成器根据提供的 ID 生成随机数字序列: https://www.random.org/sequences/?min=1&max=50&col=1&format=plain&rnd=id.10 但我希望生成在本地完成,而不是依赖于 random.org API。
因此,我需要在指定范围“Y”内生成“X”个唯一随机整数,这些整数是根据提供的整数“Z”生成的。我应该能够调用一个以“Z”作为参数的函数,并且每次都能收到相同的“X”整数。
我需要知道如何使用 PHP 代码或至少在 PHP 函数、伪代码或代码片段的方向上进行推送或提示,以便我自己完成。 提前致谢!
最佳答案
为什么要重新发明轮子
mt_srand(44);
for ($i=0; $i < 10; $i++) echo mt_rand(). "\n";
echo "\n\n";
mt_srand(44);
for ($i=0; $i < 10; $i++) echo mt_rand(). "\n";
结果
362278652
928876241
1914830862
68235862
1599103261
790008503
1366233414
1758526812
771614145
1520717825
362278652
928876241
1914830862
68235862
1599103261
790008503
1366233414
1758526812
771614145
1520717825
关于PHP - 从键生成指定范围内的随机整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31761533/