代码如下:
<?php
/**
*
抽奖
*
@param
int
$total
*/
function
getReward($total=1000)
{
$win1
=
floor((0.12*$total)/100)
$win2
=
floor((3*$total)/100)
$win3
=
floor((12*$total)/100)
$other
=
$total-$win1-$win2-$win3
$return
=
array()
for
($i=0$i<$win1$i++)
{
$return[]
=
1
}
for
($j=0$j<$win2$j++)
{
$return[]
=
2
}
for
($m=0$m<$win3$m++)
{
$return[]
=
3
}
for
($n=0$n<$other$n++)
{
$return[]
=
'谢谢惠顾'
}
shuffle($return)
return
$return[array_rand($return)]
}
$data
=
getReward()
echo
$data
?>
这个不是有key值么,抽到后把这个key值的给unset()unset() 方哗姿枝法
注意如果你使用 unset() 方法,它是册凯不会改变其他的键(key),如果你想对其他的键(key)重新整理排序,可以使用 array_values()。
<?php
$array = array(0 =>"a", 1 =>"b", 2 =>"c")unset($array[1])
//↑ 你要删除的数组元素值的键乱敏print_r($array)?>
输出结果:
Array (
[0] =>a[2] =>c)
没有作弊的一般是按次数,(当然也有概率因素)蠢亏,有作弊的一般是按时间,理论上没有作弊的话,可以这样实现概率,比如10/100000出现A,100/100000出现B,其他都出现C,那么实现这个要求可以生成一个100000以内的随机数,然后然后根据他进行判断,链档亏如果小于10,那么出现A,大于10小于110,出现B,大于110出现C,
上面的正常的不作弊的中奖概率生成,完全靠系统随机产生
不过对于一般的中奖FLASH,只要是附加了现实的金钱的话棚神,都会弄一些时间或者特殊的中奖控制措施,只要在前面的判断中加入时间的判断就可以实现了
一般的FLASH中奖都只是用FLASH来显示结果而已,生成随机数然后比较都是靠后台的ASP或者PHP脚本实现的,所以光靠FLASH最多只能说你可以没有限制的实现不停的抽奖(也就是不停的调用ASP或者PHP脚本),而不可能实现肯定抽中奖!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)