本篇文章主要介绍了php实现微信红包金额拆分试玩的算法示例,内容挺不错的,现在分享给大家,也给大家做个参考。
本文介绍了PHP实现微信红包金额拆分试玩的算法示例,分享给大家,有兴趣的可以看一下:
<?php
// 新年红包金额拆分试玩
class CBonus
{
public $bonus;//红包
public $bonus_num;//红包个数
public $bonus_money;//红包总金额
public $money_single_max;//单个红包限额
public function __construct(){
$this->bonus_num = 10;
$this->bonus_money = 200;
$this->money_single_max = 60;
}
private function randomFloat($min = 0, $max = 1) {
$mt_rand = mt_rand();
$mt_getrandmax = mt_getrandmax();
echo 'mt_rand=' . $mt_rand . ', mt_getrandmax=' . $mt_getrandmax . '<hr/>';
return $min + $mt_rand / $mt_getrandmax * ($max - $min);
}
//计算
public function compute()
{
$this->bonus = array();
$bonus_money_temp = $this->bonus_money;
$money_single_max = $this->money_single_max;
$i = 1;
while($i < $this->bonus_num)
{
if ($money_single_max > $bonus_money_temp)
{
$money_single_max = floatval(sprintf("%01.2f", $bonus_money_temp / 2));//剩余金额不够分时,把剩余金额的一半作为备用金
}
$bonus_money_rad = $this->randomFloat(0.01, $money_single_max);//一个红包随机金额 最小的1分钱
$bonus_money_rad = floatval(sprintf("%01.2f", $bonus_money_rad));
$bonus_money_temp = $bonus_money_temp - $bonus_money_rad ;//待分配的总剩余金额
$bonus_money_temp = floatval(sprintf("%01.2f", $bonus_money_temp));
$this->bonus[] = $bonus_money_rad;
//echo $bonus_money_rad . ',' . $bonus_money_temp . '<hr/>';
$i++;
}
$this->bonus[] = $bonus_money_temp;//分配剩余金额给最后一个红包
}
//打印
public function output(){
$total = 0;
foreach($this->bonus as $k => $v)
{
echo '红包' . ($k+1) . '=' . $v . '<br/>';
$total += $v;
}
echo '红包总金额:'.$total;
}
}
$CBonus = new CBonus();
$CBonus->compute();
$CBonus->output();
?>演示结果:
红包1=12.36红包2=24.37红包3=42.71红包4=36.92红包5=25.84红包6=23.17红包7=15.92红包8=1.35红包9=7.75红包10=9.61红包总金额:200 红包1=24.59红包2=17.66红包3=29.67红包4=32.34红包5=12.67红包6=37.15红包7=17.41红包8=15.23红包9=6.13红包10=7.15红包总金额:200
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
立即学习“PHP免费学习笔记(深入)”;
相关推荐:
以上就是关于PHP实现微信红包金额拆分的算法的详细内容,更多请关注php中文网其它相关文章!
微信是一款手机通信软件,支持通过手机网络发送语音短信、视频、图片和文字。微信可以单聊及群聊,还能根据地理位置找到附近的人,带给大家全新的移动沟通体验,有需要的小伙伴快来保存下载体验吧!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号