文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php教程>php代码怎么实现红包功能

php代码怎么实现红包功能

时间:2021-11-06  来源:互联网

今天PHP爱好者为您带来php代码实现红包功能的方法:1、通过distribute_red_bages方法实现拼手气红包;2、通过average_red_bages方法实现均分红包;3、通过rob_red_bages方法实现规定红包数。希望对大家有所帮助。

本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑

php代码怎么实现红包功能?

PHP 红包功能代码

前段时间被问这个问题,最近有空就写写啦,还是挺有趣的

首先做下抢红包方法分类:

对于发红包的人来说,一共有大致3类(其他的我暂时没想到,有想到可以联系我呀~)

一、拼手气红包个数不定(完全看运气)

二、拼手气红包规定个数(个数一定,至少一分)

三、平均分红包(个数一定,大家平分)还是这个好写是吧!嘿嘿

上代码:

<?php
var_dump(rob_red_bages(5 , 10));
var_dump(distribute_red_bages(5));
/*
方法主要功能:拼手气红包(个数不定)
一个参数
   参数一: 红包总金额(按分计算)
*/
function distribute_red_bages($sum){
   $sum = $sum*100;
   $i=0;
   while($sum>0){
       $temp = rand(1 , $sum);//红包值
       $sum -= $temp;
       $arr[$i++] = $temp/100;
   }
   //check($arr);
   return $arr;
}
/*
方法主要功能:均分红包
两个参数:
   参数一: 红包总金额
   参数二: 均分个数
*/
function average_red_bages($sum , $num){
   $res = $sum/$num;
   for($i=0 ; $i<$num ; $i++){
       $arr[$i] = $res;
   }
   //check($arr);
   return $arr;
}
/*
方法主要功能:规定个数的手气红包
两个参数:
   参数一:红包总金额
   参数二:红包个数
   
   计算流程,随机生成num个数
   求和得到m
   用sum/m 得到每个数需要k
   用随机数*k
*/
function rob_red_bages($sum , $num){
   $sum = $sum*100;
   for($i=0 ; $i<$num ; $i++){
       $temp = rand(1 , $sum);
       $arr[$i] = $temp;
       $sumall += $temp;
   }
   $k = $sum/$sumall;
   for($i=0 ; $i<sizeof($arr); $i++){
       $arr2[$i] = $arr[$i]*$k/100;        
   }
   return $arr2;
}
/*红包总额检测*/
function check($arr){
   foreach($arr as $a){
       $sum += $a;
       echo $a."+";
   }
   
   echo " 0 =".$sum."\n";
}
?>

下面分析下拼手气红包吧(平分的就不说了,大家都会):

拼手气红包个数不定思路:(总金额:sum)

---->随机第一个小于sum的数: n

---->总金额减去该数: temp = sum-n

---->随机一个小于temp的数

---->递归上述方法直到总金额为0

---->返回存储随机结果的数组

这个方法比较常规,用来实现规定个数的红包也是可以实现的!不过~

拼手气红包规定个数思路(总金额 sum,红包个数 num )

---->随机num个小于sum的数,生成数组

---->对这些数求和得到allsum

---->用sum除以allsum得到所有生成数的公倍数

---->数组每个元素与公倍数相乘得到每个红包的的数值

这个方法有缺点(最终的结果可能会略大于sum,或者略小于sum 因为除法可能出现无理数)

大概就是这些啦!欢迎交流指正!~~~

以上就是php代码怎么实现红包功能的详细内容,更多请关注php爱好者其它相关文章!

相关阅读更多 +
最近更新
排行榜 更多 +
元梦之星最新版手游

元梦之星最新版手游

棋牌卡牌 下载
我自为道安卓版

我自为道安卓版

角色扮演 下载
一剑斩仙

一剑斩仙

角色扮演 下载