首页  >  文章  >  后端开发  >  如何生成不重复的随机数以实现独特的内容显示?

如何生成不重复的随机数以实现独特的内容显示?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-21 12:49:30958浏览

How to Generate Non-Repeating Random Numbers for Unique Content Display?

为独特内容生成不重复的随机数

为特定目的(例如显示 Yelp 列表)生成随机数时,这一点至关重要以确保它们不会重复。这可以确保所有想要的项目都显示出来,没有任何重复。

PHP 的 Shuffle 方法

PHP shuffle 函数可用于生成不重复数字的数组。通过提供要生成的数字范围,shuffle 会对它们进行随机排序。

$numbers = range(1, 20);
shuffle($numbers);

这种方法对于小数据集来说简单有效,但当数据集很大时它就有局限性。

替代方案:RandomGen 函数

对于较大的数据集,称为 randomGen 的自定义函数可以提供更好的性能。此函数在给定范围内生成指定数量的唯一随机数。

<code class="php">function randomGen($min, $max, $quantity) {
    $numbers = range($min, $max);
    shuffle($numbers);
    return array_slice($numbers, 0, $quantity);
}

print_r(randomGen(0, 20, 20)); // Generates 20 unique random numbers</code>

Yelp 列表显示的具体应用

将此方法应用于 Yelp 列表时,如果您在 $businesses 中存储了一组企业,则可以按照以下步骤操作:

  1. 使用 randomGen 函数或 shuffle 方法生成随机列表 ID。
  2. 存储生成的 ID在数据库表中跟踪显示的列表。
  3. 在每个页面刷新时,生成一个新的随机 ID 并对照表进行检查。如果尚未显示,请显示该列表并将 ID 添加到表中。
  4. 重复步骤 3,直到显示所有 20 个列表。

通过遵循这些技巧,您可以确保所有 Yelp 列表都显示一次,不会重复,提供更全面的用户体验。

以上是如何生成不重复的随机数以实现独特的内容显示?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn