很多站长朋友们都不太清楚php指定抽奖概率,今天小编就来给大家整理php指定抽奖概率,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php实现可以设置中奖概率的抽奖程序代码分享 2、 如何用PHP制作有奖品(数量)的转盘抽奖? 3、 php一个抽奖函数(自定义中奖项数和概率) 4、 php 如何随机生成指定数字和概率? 5、 抽奖的概率怎么定 thinkphp php实现可以设置中奖概率的抽奖程序代码分享这篇文章主要介绍了一个抽奖程序,要求一等奖的中奖概率是0.12%,二等奖中奖概率是3%,三等奖中奖概率是12%,其他中奖概率是都是谢谢惠顾
代码如下:
<?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;
?>
如何用PHP制作有奖品(数量)的转盘抽奖?这个不是有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)
php一个抽奖函数(自定义中奖项数和概率)解决思路如下:
1)以数字区段来对应中奖情况例如有一、二、三等奖,各自的中奖概率分别为10%、20%、30%那么有如下划分:1-10,一等奖;11-30,二等奖;31-60,三等奖,60以上,未中奖
2)产生一个1~100之间的随机数,看随机数属于哪个奖项区域,以确定中奖情况
php 如何随机生成指定数字和概率?亲,你可以这样做呦!~~
如果只有这三个数,是不好弄出 0:85% 1:5% 2:10%的
但是你如果想提高某个数字出现的概率,你可以适当让这个数组增多。
你可以这样写:
<?php
// 定义一个数组,里面有85个0
$num0 = array_fill(0, 85, 0);
// 定义一个数组,里面有5个1
$num1 = array_fill(1, 5, 1);
// 定义一个数组,里面有10个2
$num2 = array_fill(2, 10, 2);
// 总数组,里面总共100个元素
$allNum = array_merge($num0, $num1, $num2);
// 随机取一个元素
$randKey = array_rand($allNum);
$randnum = $allNum[$randKey];
// 以上就可以实现出现0的概率是85% 出现1的概率是5% 出现2的概率是10%了,因为一共一百个数,里面有85个是0, 5个是1, 10个是2
希望可以帮到你呦!~如果有不正确的地方,欢迎指正!~~
本人博客: ,欢迎交流学习!~~
抽奖的概率怎么定 thinkphp根据设定的中奖概率数组进行数据的输出
function getRand($proArr) { //传入的为一维数字数组,此数组中数字即为相应概率
$result = '';
//概率数组的总概率精度
$proSum = array_sum($proArr);
//概率数组循环
foreach ($proArr as $key => $proCur) {
$randNum = mt_rand(1, $proSum);
if ($randNum <= $proCur) {
$result = $key;
break;
} else {
$proSum -= $proCur;
}
}
unset ($proArr);
return $result;
}
关于php指定抽奖概率的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php指定抽奖概率 php抽奖系统源码的详细内容...