PHP批量随机生成不重复的数字

    选择打赏方式

/**
 * 随机多个数字,可设定是否重复
 * @param int $min          
 * @param int $max          
 * @param int $num          
 * @param boolean $re           
 * @return array
 */
function randomNums($min, $max, $num, $re = false)
{
    $arr = array ();
    $t = 0;
    $i = 0;
    // 如果数字不可重复,防止无限死循环
    if (! $re)
    {
        $num = min($num, $max - $min + 1);
    }
    do
    {
        // 取随机数
        $t = mt_rand($min, $max);
        if (! $re && isset($arr[$t]))
        {
            // 数字重复
            continue;
        }
        $arr[$t] = $t;
        ++ $i;
    }
    while ($i < $num);
    return $arr;
}

示例:

randomNums(1,10,5); // 生成1-5之间的5个数字,不可重复
randomNums(1,10,5,true); // 生成1-5之间的5个数字,允许重复

版权声明:若无特殊注明,本文为《傲世》原创,转载请保留文章出处。
本文链接:https://www.recho.cn/241.html
如您对本文章内容有所疑问、反馈或补充,欢迎通过邮箱:admin@h2fast.cn 联系我们!
正文到此结束

热门推荐