php 随机数中奖demo演示
感谢https://blog.csdn.net/z960339491/article/details/69511491提供的思路,应该是java,于我不合适,写了php
<?php // 中奖概率的百分比的百 $a = 100; // 中奖基数最小值 $min = 1; // 中奖基数最大值 $max = 10000; // 下标记录,因为从最小值开始,所以为$min $index = $min; // 假定有如下商品 $arr[] = array("name"=>"商品1","gailv"=>5); $arr[] = array("name"=>"商品2","gailv"=>10); $arr[] = array("name"=>"商品3","gailv"=>15); $arr[] = array("name"=>"商品4","gailv"=>20); $arr[] = array("name"=>"商品5","gailv"=>50); // 循环为奖品数组附加中奖基数区间值 foreach($arr as $k=>$v){ $jian = $max*$v['gailv']/$a; $arr[$k]['begin'] = $index; $arr[$k]['end'] = $index+$jian-1; $index = $index+$jian; } // 输出商品列表信息 // var_dump($arr); // 得到一个随机数,起始值为基数的最小和最大值 $jiang = rand($min,$max); // 记录中奖商品下标 $jiang_index = false; // 循环对比随机数位于哪个商品的区间基数内 foreach ($arr as $k => $v) { if($jiang>=$v['begin'] && $jiang<=$v['end']){ $jiang_index = $k; break; } } // 判断中奖商品 if($jiang_index==false){ echo "谢谢参与"; }else{ echo $arr[$jiang_index]['name']; } ?>
破罐子互摔