如何在PHP中生成唯一的随机数?

PRO*_*SOR 0 php prng

我正在研究MCQ模块,我需要从我的数据库中获取随机问题.问题是我似乎得到了重复.

Gre*_*ean 6

听起来你想要改变问题,而不是随机访问它们.所以你的算法会是这样的.

  1. 获取要显示的所有问题(或问题键).
  2. 洗他们
  3. 以洗牌顺序检索/显示它们

洗牌退房:Fisher-Yates洗牌算法


var*_*tec 6

如果您从数据库中获取它们,请使用SQL来完成您的工作.例如,提取20个随机问题(不重复):

SELECT * FROM questions ORDER BY RAND() LIMIT 20
Run Code Online (Sandbox Code Playgroud)