微信红包生成算法

<?php 
header('Content-Type: text/html; charset=utf-8');
$total=10;//总金额
$num=8;//个数
$min=0.01;//最小红包
for($i=1;$i<$num;$i++){
    //平均值作为随机安全上限来控制波动差
    $safe_max=($total-($num-$i)*$min)/($num-$i);
    //echo '安全上限:'.$safe_max.'<br>';
    $money=mt_rand($min*100,$safe_max*100)/100;
    $total=$total-$money;
    echo '第'.$i.'个红包:'.$money.'元,余额:'.$total.'元'.'<br>';
    }
    echo '第'.$i.'个红包:'.$total.'元,余额:0元';
?>

 

posted @ 2016-03-14 08:49  陈泽泽  阅读(299)  评论(0编辑  收藏  举报