加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

生成指定个数的随机红包

发布时间:2020-05-25 07:47:01 所属栏目:PHP 来源:互联网
导读:生成指定个数的随机红包

下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。

脚本之家小编现在分享给大家,也给大家做个参考。

<?php
$total=20;//红包总金额   
$num=10;// 分成10个红包,支持10人随机领取   
$min=0.01;//每个人最少能收到0.01元   
 $redpack = new redpack($total,$num,$min);
 $jieguo = $redpack->getPack();
 foreach($jieguo as $key=>$val){
	 $n = $key+1;
	 echo '第'.$n.'个红包:'.$val['money'].' 元,余额:'.$val['balance'].' 元<br>';   
 }

class redpack{
	//总金额
	private $total=0;
	//红包数量
	private $num=0;
	//最小红包金额
	private $min=0.01;
	
	public function __construct($total,$min)
	{
		$this->total = $total;
		$this->num = $num;
		$this->min = $min;
	}
	//红包结果
	public function getPack()
	{
		$total = $this->total;
		$num = $this->num;
		$min = $this->min;
		for ($i=1;$i<$num;$i++)   
		{   
			$safe_total=($total-($num-$i)*$min)/($num-$i);//随机安全上限   
			$money=mt_rand($min*100,$safe_total*100)/100;   
			$total=$total-$money;  
			//红包数据
			$readPack[]= [
				'money'=>$money,'balance'=>$total,];
		}
		//最后一个红包,不用随机		
		$readPack[] = [
			'money'=>$money,'balance'=>0,];
		//返回结果
		return $readPack;
	}
	
}

以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读