Re: [請益] 想請問一下一個抽獎程式的流程問題
※ 引述《lionSYH (獅子王)》之銘言:
: 小弟最近在做一個抽獎程式
: 假設有4個獎項...
: 我想要控制
: 1獎機率為10%
: 2獎20%
: 3獎30%
: 4獎40%
: 我想到的方法比較蠢...
: 就是產生10個陣列...定為a
: 1獎放在a[0]
: 2獎a[1] a[2]
: 3獎a[3] a[4] a[5]
: 4獎a[6] a[7] a[8] a[9]
: 之後再rand(0,9) 看中的哪個..
: 不過在機率大時還可以在這樣用,
: 如果機率中有0.01 或是15.35這種非整數的機率出現時
: 我的陣列數就要產生相當多
: 不知道有沒有更好的方法,可以達成呢!?
: 麻煩各位前輩了
<?php
function getPrice($prob)
{
$randSum = 0;
foreach($prob as &$row)
{
$randSum += $row;
$row = $randSum;
}
$seed = rand(1,$randSum);
foreach($prob as $price => $sum)
{
if($seed <= $sum)
return $price;
}
}
$probability = array(
'1獎'=>10,
'2獎'=>20,
'3獎'=>30,
'4獎'=>40
);
echo getPrice($probability);
?>
--
期末強片:
1.驚奇四修人 2.死當筆記本 3.不能過的祕密 4.重修狀 5.當二一來敲門
6.驚天動地59分 7.把學分找回來 8.沒過黑幫 9.有學分真好 10.現在,很想當你
11.賜零 12.穿越年假擋修你 13.與教授的六十分戰爭 14.全面重修
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.252.40
→
04/29 13:38, , 1F
04/29 13:38, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 5 篇):
PHP 近期熱門文章
PTT數位生活區 即時熱門文章