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
正文到此结束

热门推荐

发表吐槽

匿名评论 请叫我雷锋~

你还可以输入 250 / 250 个字

呵呵 哈哈 吐舌 开心 笑眼 可怜 乖 啊 你懂得 不高兴 生气 汗 黑线 哭 真棒 阴险 鄙视 酷 滑稽 纳尼 疑问 委屈 惊讶 勉强

评论信息框
可使用QQ号实时获取头像自动填写

私密评论

吃奶的力气提交吐槽中...


竟然没有人吐槽,快赶紧抢沙发吧!