发红包随机金额的两种方式

摘要:
综上所述,微信红包随机函数1,固定面额,即输入金额以生成已知的固定金额//红包总金额受保护函数randCoupon($total=30){$extension=array(10,5,32,1);//固定面额$array=array

总结下微信红包随机函数

1   固定面额      即 输入金额生成已知的固定金额

//total  红包总金额   
 protected function randCoupon($total=30){
        $denomination = array(10,5,3,2,1);//固定面额
        $arr = array();
        while ($total){
            if(count($denomination)>0){
                $index = rand(0,count($denomination)-1);//随机抽取一个固定面额索引
                $money = $denomination[$index];
                if($money>$total) continue;
                array_push($arr,$money);
                $total = (int)$total - (int)$money;
                if($total==1){
                    array_push($arr,$total);
                    break;
                }
                if($total<1) break;
                foreach ($denomination as $k => $item){
                    if($total <= $item){
                        array_splice($denomination,$k,1);
                    }
                }
            }

        }
        shuffle($arr);//重新打乱数组
        return $arr;
    }

2   随机金额    即输入金额及红包个数   然后生成一个随机数组

   //拆分数值生成若干个和等于该数值随机值
    public function randNum($total=200,$num=17) {
        $min=0.01;//每个人最少能收到0.01元
        for ($i=1;$i<$num;$i++) {
            $safe_total = ($total - ($num-$i)*$min) / ($num-$i);//随机安全上限
            if($safe_total < 0.01) $safe_total = 0.01;
            $money = mt_rand($min*100,$safe_total*100)/100;
            $total = $total - $money;
            $data[] = round($money,2);
        }
        $data[] = round($total,2);
        shuffle($data);
        return $data;
    }

免责声明:文章转载自《发红包随机金额的两种方式》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇python爬虫数据解析之xpathDubbo多注册中心配置下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

微信小程序 webview直接关闭所有回到小程序

解决方案:通过微信浏览器监控返回键和H5跳转小程序。...

MySQL锁详解

MySQL锁详解update语句执行流程MySQL的锁介绍按照锁的粒度来说,MySQL主要包含三种类型(级别)的锁定机制:全局锁:锁的是整个database。由MySQL的SQLlayer层实现的表级锁:锁的是某个table。由MySQL的SQLlayer层实现的行级锁:锁的是某行数据,也可能锁定行之间的间隙。...

ubuntu的ufw如何开放特定端口?

ubuntu的ufw是如何打开特定端口的?1.安装sudoapt getinstallufw2.启用sudoufwenable以默认情况下禁用外部访问sudoufwdefaultdeny 3.查看状态sudoufwstatus4.添加端口sudoufwallow80805。删除端口sudoufwdeleteallow808080806。允许特定源的IP地址从...

安装qmake与环境变量解析

如果你已经有了qmake,可以跳过这里,请看10分钟学会使用qmake。手动安装qmake在手工连编Qt之前,下面这些环境变量必须被设置:QMAKESPEC这个必须设置为你所使用的系统的平台和编译器的组合。当编译完成时,qmake已经可以使用了。这里对添加环境变量时,是在path里头添加,还是new一个变量有点疑惑。而如果是new的话,当我们在为程序添加路径...

uniapp 实现动态切换全局主题色

要求:要在开发的应用程序中切换主题颜色,如果只需要一种主题颜色,但不需要切换,则可以使用uniappSCSS文件文档思想:预先在公共css中定义所需的主题颜色。这里只是一个定义两种颜色的参考文档的示例,可以从中获得想法。您可以使用css属性选择器动态设置数据xx以动态更改主题颜色。最初,您希望将一个变量直接混合到mixin中,以实现主题颜色的全局控制,忽略了...

最新版Swagger 3升级指南和新功能体验!

因此,本期将为您带来一篇关于Swagger最新版本的文章。本文将向您展示Swagger最新版本的变化?如何将旧版本的Swagger升级到新版本?Swagger是一个用于生成、描述和调用RESTful接口的Web服务。Swagger 2.9.2的使用分为以下四个步骤:添加依赖项、启用Swagger功能、配置Swagger文档摘要信息和调用接口访问。让我们分别来...