php 随机数中奖demo演示
原创
©著作权归作者所有:来自51CTO博客作者西瓜霜啊的原创作品,请联系作者获取转载授权,否则将追究法律责任
1提供的思路,应该是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'];
}
?>
破罐子互摔