首页 > 其他 > 详细

简易 红包生成

时间:2016-02-02 17:37:14      阅读:181      评论:0      收藏:0      [点我收藏+]
<?php 
error_reporting(E_ALL || ~E_NOTICE);
Header("content-type:text/html;charset=utf8");
// // $list 是反回的数组    
// $list = array(5,5,5,10,10,10); //红包数组

// echo "当前红包还剩:"; var_dump($list);
// echo "<hr>";
// $arr =array_rand($list);  //从红包中随机取出一个
// // var_dump($arr);

//  echo "抽到红包为".$list[$arr];  //输出取出的值
//  unset($list[$arr]);  // 从红包数组中删除这个红包
// echo "<hr>";
// echo  "当前红包还剩:";   var_dump($list);


// echo "<hr>";

function hongbao($total,$n){
    if($total/$n<1){
        for($x=1;$x<=$n;$x++){
            $min = intval($total*100/$n/$n); //红包取值的最小值 ,和平均值相关,跨度为一个相度固定值 ;
            if($x ==1){
                $a= rand($min,intval($total*100/$n)); 
                $res = $total*100-$a;
                $s = $a/100;
                echo "第{$x}份红包为1:{$s}<br>";
            }elseif($x ==$n){
                $res = $res/100;
                echo "第{$x}份红包为1:{$res}<br>";
            }else{
                $a = rand($min,intval($res/($n-$x)));
                $res = $res-$a;
                $s = $a/100;
                echo "第{$x}份红包为1:{$s}<br>";
            }
        }
    }else{

        for($x=1;$x<=$n;$x++){
            $min = intval($total/$n/$n); //红包取值的最小值 ,和平均值相关,跨度为一个相度固定值 ;    
            if($x ==1){
                $a= rand($min,intval($total/$n)); 
                $res = $total-$a;
                echo "第{$x}份红包为:{$a}<br>";
            }elseif($x ==$n){
                echo "第{$x}份红包为:{$res}<br>";
            }else{
                $a = rand($min,intval($res/($n-$x)));
                $res = $res-$a;
                echo "第{$x}份红包为:{$a}<br>";
            }    
        }
    }
}

hongbao(5,10);  //平均分值 不能小于0.01 

?>

 

简易 红包生成

原文:http://www.cnblogs.com/zx1989031/p/5177917.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!