首页 >后端开发 >php教程 >如何高效生成特定范围内唯一的随机数?

如何高效生成特定范围内唯一的随机数?

Barbara Streisand
Barbara Streisand原创
2024-12-14 02:05:09266浏览

How Can I Efficiently Generate Unique Random Numbers Within a Specific Range?

生成范围内的唯一随机数:优化方法

要生成指定范围内的唯一随机数,请考虑以下改进方法:

顺序打乱的数组:

  • 创建一个包含所需范围内的数字的数组。
  • 使用 shuffle() 随机化数组元素的顺序。
$numbers = range(1, 20);
shuffle($numbers);

包装函数:

  • 定义一个函数,封装用于在一个数组中生成指定数量的唯一随机数的逻辑range。
  • 在函数内,创建一个具有所需范围的数组,打乱其顺序,并返回包含所需元素数量的数组切片。
function UniqueRandomNumbersWithinRange($min, $max, $quantity) {
    $numbers = range($min, $max);
    shuffle($numbers);
    return array_slice($numbers, 0, $quantity);
}

用法示例:

$result = UniqueRandomNumbersWithinRange(0, 25, 5);

这将生成并返回一个由 5 个唯一随机排序的数组0-25 范围内的数字。

结果示例:

$result = [14, 16, 17, 20, 1]

以上是如何高效生成特定范围内唯一的随机数?的详细内容。更多信息请关注PHP中文网其他相关文章!

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