代码如下:
<?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
?>
使用shuffle ,把奖项存入数组,对数组shuffle 随机排序就OK了
例如:
$a=array('A','B','C','D')//抽到C为奖
shuffle ( $a )
如何类推,数组可以是多维数组,关键是shuffle 函数的使用。
这个不是有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)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)