<?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 ?>
时间: 2024-10-06 00:31:42