微信红包
header("content-type:text/html;charset=utf-8"); $sum = 10; //总价钱 $num = 8 ; //人数 $min = 0.01; //最少值 for($i=1;$i<$num;$i++){ $row = ($sum-($num-$i)*$min)/($num-$i);// 安全值 $money = mt_rand($min*100,$row*100)/100; $sum -= $money; echo '第'.$i.'人,领取'.$money.'元,剩下'.$sum.'元<br/>'; } echo '第'.$num.'人,领取'.$sum.'元,剩下'.$sum.'元';
微信抽奖
function get_rand($arr){ $arr_sum = array_sum($arr); $arr_rand = mt_rand(1,$arr_sum); foreach($arr as $key => $arr_num){ $arr_sum -= $arr_num; if($arr_rand>$arr_sum){ return $key; } } } $p = array( '0' => array('id'=>1,'info'=>'一等奖','v'=>1), '1' => array('id'=>2,'info'=>'二等奖','v'=>5), '2' => array('id'=>3,'info'=>'三等奖','v'=>10), '3' => array('id'=>4,'info'=>'四等奖','v'=>34) ); foreach($p as $key => $value){ $arr[$value['id']] = $value['v']; } $rid = get_rand($arr); $res['yes'] = $p[$rid-1]['info']; unset ($p[$rid-1]) ; shuffle ($p); for($i=0;$i<count($p);$i++){ $pr[]= $p[$i]['info']; } $res['no'] = $pr; var_dump($res);