首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP -从键生成指定范围内的随机整数

问PHP -从键生成指定范围内的随机整数
EN

Stack Overflow用户
提问于 2015-08-01 11:53:19
回答 4查看 532关注 0票数 1

我在MySQL数据库中有一组具有唯一I的问题。用户也有一个唯一的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。

因此,我需要生成'X‘唯一的随机整数,在指定的范围'Y’是根据提供的整数'Z‘生成的。我应该能够调用一个以'Z‘为参数的函数,并且每次都能收到相同的'X’整数。

我需要知道如何用PHP代码复制这一代,或者至少在PHP函数、伪代码或代码片段的方向上进行推送或提示,这样我就可以自己完成了。提前谢谢你!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-08-01 12:42:16

为什么要重新发明轮子

代码语言:javascript
复制
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";

结果

代码语言:javascript
复制
362278652
928876241
1914830862
68235862
1599103261
790008503
1366233414
1758526812
771614145
1520717825


362278652
928876241
1914830862
68235862
1599103261
790008503
1366233414
1758526812
771614145
1520717825
票数 1
EN

Stack Overflow用户

发布于 2015-08-01 12:12:27

当ID为10的用户第一次打开页面时,请使用rand()生成随机数,然后将它们存储到数据库中用户表中的单元格中。因此,id 10的用户存储了rand()号。

例如,users表有id,rand_questions。检查rand_questions是否为空,然后使用生成的新随机数进行更新,否则将从数据库中获得数字。

票数 0
EN

Stack Overflow用户

发布于 2015-08-01 12:16:02

您可以获得随机的$w数组值。以这段代码为例,并根据您的逻辑进行更改。

代码语言:javascript
复制
$w = array('0'=>11,'1'=>22,'2'=>44,'3'=>55,'4'=>66,'5'=>88);

$str = '';
for($i=0;$i<5;$i++) {
        $str.= $w[rand(0,5)];
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31761533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档