這篇文章主要講解了“php中獎概率算法代碼分享”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“php中獎概率算法代碼分享”吧!
實現代碼:
<?php
/**
*php 中獎概率算法
*
*/
function get_zj( $jp ,$glname = 'gl'){
$sum = 0;
foreach($jp as $k =>$v ){
$sum += $v[$glname];
}
$R = rand(1,$sum);//獲取隨機數
foreach( $jp as $k => $v){
if( $R <= $v[$glname] ){
return $v;
}
$R = $R - $v[$glname] ;
}
}
//使用方法
//模擬一個從數據庫中讀取的 中獎配置 gl 為 中獎的概率
//例如array( 'gl' => 10 , 'title' => '一等獎');的中獎概率 = 10 / (10+20+30+40)
$jp = array();
$jp[] = array( 'gl' => 10 , 'title' => '一等獎');
$jp[] = array( 'gl' => 20 , 'title' => '二等獎');
$jp[] = array( 'gl' => 30 , 'title' => '三等獎');
$jp[] = array( 'gl' => 40 , 'title' => '未中獎');
//調用 中獎概率函數
//返回中獎 信息數組 例如:array( 'gl' => 10 , 'title' => '一等獎');
$zj = get_zj( $jp );
//輸出數組
var_dump($zj);使用方法
模擬一個從數據庫中讀取的 中獎配置 gl 為 中獎的概率
例如array( 'gl' => 10 , 'title' => '一等獎');的中獎概率 = 10 / (10+20+30+40)
$jp = array();
$jp[] = array( 'gl' => 10 , 'title' => '一等獎');
$jp[] = array( 'gl' => 20 , 'title' => '二等獎');
$jp[] = array( 'gl' => 30 , 'title' => '三等獎');
$jp[] = array( 'gl' => 40 , 'title' => '未中獎');
調用 中獎概率函數
返回中獎 信息數組 例如:array( 'gl' => 10 , 'title' => '一等獎');
感謝各位的閱讀,以上就是“php中獎概率算法代碼分享”的內容了,經過本文的學習后,相信大家對php中獎概率算法代碼分享這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。