PHP+AJAX開發幸運大轉盤抽獎,通過獎品庫存、中獎次數來計算中獎概率
獎品設置
1 $prizes = array( 2 0 => array( 3 "id" => 0, //中獎id 4 "name" => "謝謝參與", //獎品名稱 5 "count" => "100", //庫存 6 ), 7 1 => array( 8 "id" => 1, 9 "name" => "羅浮山門票", 10 "count" => "40", 11 ), 12 2 => array( 13 "id" => 2, 14 "name" => "羅浮山嘉寶田溫泉體驗券", 15 "count" => "40", 16 ), 17 3 => array( 18 "id" => 3, 19 "name" => "精美旅游書籍《山水釀惠州》", 20 "count" => "40", 21 ), 22 4 => array( 23 "id" => 4, 24 "name" => "碧海灣漂流門票", 25 "count" => "40", 26 ), 27 5 => array( 28 "id" => 5, 29 "name" => "南昆山門票", 30 "count" => "40", 31 ), 32 6 => array( 33 "id" => 6, 34 "name" => "雲頂溫泉精美禮品", 35 "count" => "40", 36 ), 37 );
獲取中獎概率,若是庫存為0的則不計算
1 function getRand($proArr, $proCount) { 2 $result = ''; 3 $proSum = 0; 4 foreach ($proCount as $key => $val) { 5 if ($val <= 0) { 6 continue; 7 } else { 8 $proSum = $proSum + $proArr[$key]; 9 } 10 } 11 foreach ($proArr as $key => $proCur) { 12 if ($proCount[$key] <= 0) { 13 continue; 14 } else { 15 $randNum = mt_rand(1, $proSum); 16 if ($randNum <= $proCur) { 17 $result = $key; 18 break; 19 } else { 20 $proSum -= $proCur; 21 } 22 } 23 } 24 unset($proArr); 25 return $result; 26 }
本文轉自:http://www.sucaihuo.com/php/3301.html 轉載請注明出處!