Đóng góp giải thuật trúng giải theo xác suất được quy địnk trước
$prizes = array(
['amount' => 20000, 'probability' => 2],
['amount' => 0, 'probability' => 17],
['amount' => 5000, 'probability' => 4],
['amount' => 0, 'probability' => 17],
['amount' => 50000, 'probability' => 1],
['amount' => 0, 'probability' => 17],
['amount' => 5000, 'probability' => 4],
['amount' => 0, 'probability' => 17],
['amount' => 5000, 'probability' => 4],
['amount' => 0, 'probability' => 17],
);
cái probability là tỉ lệ trên 100
hàm lấy giải đây
$random = array();
for($i = 0; $i < count($this->prizes()); $i++) {
for($j = 0; $j < $this->prizes()[$i]['probability']; $j++) {
$random[] = $i;
}
}
shuffle($random);
$prize = $random[0];