《PHP學(xué)習(xí):php 中獎(jiǎng)概率算法實(shí)現(xiàn)代碼》要點(diǎn):
本文介紹了PHP學(xué)習(xí):php 中獎(jiǎng)概率算法實(shí)現(xiàn)代碼,希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。
實(shí)現(xiàn)代碼:PHP實(shí)戰(zhàn)
<?php /** *php 中獎(jiǎng)概率算法 * */ function get_zj( $jp ,$glname = 'gl'){ $sum = 0; foreach($jp as $k =>$v ){ $sum += $v[$glname]; } $R = rand(1,$sum);//獲取隨機(jī)數(shù) foreach( $jp as $k => $v){ if( $R <= $v[$glname] ){ return $v; } $R = $R - $v[$glname] ; } } //使用方法 //模擬一個(gè)從數(shù)據(jù)庫中讀取的 中獎(jiǎng)配置 gl 為 中獎(jiǎng)的概率 //例如array( 'gl' => 10 , 'title' => '一等獎(jiǎng)');的中獎(jiǎng)概率 = 10 / (10+20+30+40) $jp = array(); $jp[] = array( 'gl' => 10 , 'title' => '一等獎(jiǎng)'); $jp[] = array( 'gl' => 20 , 'title' => '二等獎(jiǎng)'); $jp[] = array( 'gl' => 30 , 'title' => '三等獎(jiǎng)'); $jp[] = array( 'gl' => 40 , 'title' => '未中獎(jiǎng)'); //調(diào)用 中獎(jiǎng)概率函數(shù) //返回中獎(jiǎng) 信息數(shù)組 例如:array( 'gl' => 10 , 'title' => '一等獎(jiǎng)'); $zj = get_zj( $jp ); //輸出數(shù)組 var_dump($zj);
使用方法
模擬一個(gè)從數(shù)據(jù)庫中讀取的 中獎(jiǎng)配置 gl 為 中獎(jiǎng)的概率
例如array( 'gl' => 10 , 'title' => '一等獎(jiǎng)');的中獎(jiǎng)概率 = 10 / (10+20+30+40)
$jp = array();
$jp[] = array( 'gl' => 10 , 'title' => '一等獎(jiǎng)');
$jp[] = array( 'gl' => 20 , 'title' => '二等獎(jiǎng)');
$jp[] = array( 'gl' => 30 , 'title' => '三等獎(jiǎng)');
$jp[] = array( 'gl' => 40 , 'title' => '未中獎(jiǎng)');
調(diào)用 中獎(jiǎng)概率函數(shù)
返回中獎(jiǎng) 信息數(shù)組 例如:array( 'gl' => 10 , 'title' => '一等獎(jiǎng)');
PHP實(shí)戰(zhàn)
轉(zhuǎn)載請(qǐng)注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/1916.html