php怎么随机数中去重复

不及物动词 其他 126

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在php中生成随机数并去重可以使用数组的方式实现。首先,你可以创建一个空数组,用来存储生成的随机数。然后,使用循环语句来生成随机数,直到数组的长度达到你所需要的数量。在生成随机数的同时,你可以使用in_array()函数来判断当前生成的随机数是否已经存在于数组中,如果存在则跳过,继续生成下一个随机数。最后,你可以使用foreach循环来遍历生成的随机数数组,并将每个随机数输出。以下是实现这个过程的示例代码:

    “`

    “`

    上述代码中,我们通过使用mt_rand()函数生成1到100之间的随机数。通过循环添加随机数到数组中,并在每次添加前使用in_array()函数判断是否已存在于数组中。最后,通过foreach循环将生成的随机数输出。你可以根据自己的需要修改代码中的变量值和生成随机数的范围。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    PHP中可以使用两种方法来生成随机数并去重复。

    方法一:通过数组的方式去重复
    步骤:
    1. 创建一个数组,用于存放生成的随机数。
    2. 使用while循环,不断生成随机数,直到生成的随机数不在数组中重复。
    3. 将不重复的随机数添加到数组中。
    4. 重复步骤2和步骤3,直到数组中的元素个数达到所需数量。

    示例代码:
    “`

    “`

    方法二:通过Fisher–Yates乱序算法去重复
    步骤:
    1. 创建一个数组,用于存放生成的随机数。
    2. 使用for循环,从指定范围内生成一系列连续的整数,并将其添加到数组中。
    3. 使用for循环,从最后一个元素开始向前遍历数组,每次随机选择一个索引位置,并将该位置的元素与当前位置的元素交换。
    4. 重复步骤3,直到交换完所有元素。
    5. 从数组中取出所需数量的元素,即为生成的不重复随机数。

    示例代码:
    “`
    = 0; $i–) {
    $randomIndex = rand(0, $i);
    $temp = $numbers[$i];
    $numbers[$i] = $numbers[$randomIndex];
    $numbers[$randomIndex] = $temp;
    }

    $uniqueNumbers = array_slice($numbers, 0, $count);

    print_r($uniqueNumbers); // 打印数组中的随机数
    ?>
    “`

    通过以上两种方法,可以在PHP中生成指定数量的不重复随机数。方法一使用了数组的in_array函数来判断是否有重复,方法二使用了Fisher–Yates乱序算法来打乱数组顺序,从而取出不重复的随机数。根据具体需求,选择合适的方法来生成不重复的随机数。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在PHP中,要生成一定范围内的随机数并去除重复的数字,可以使用以下方法:

    1. 使用数组和循环:
    – 创建一个空数组来存储随机数;
    – 使用while循环,生成随机数,并将其添加到数组中,直到数组的长度达到指定范围;
    – 使用array_unique()函数去除重复的随机数;
    – 使用foreach循环遍历数组,输出结果。

    “`php

    “`

    2. 使用shuffle()函数:
    – 生成一个包含指定范围内所有数字的数组;
    – 使用shuffle()函数将数组中的元素打乱顺序;
    – 使用array_slice()函数截取数组的一部分,截取指定个数的随机数并输出。

    “`php

    “`

    以上是两种常见的在PHP中生成随机数并去重复的方法,可以根据实际需求选择适合的方法进行使用。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部