php 中獎(jiǎng)概率算法實(shí)現(xiàn)代碼
實(shí)現(xià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ù)庫(kù)中讀取的 中獎(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ù)庫(kù)中讀取的 中獎(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)');
相關(guān)文章
php FPDF類(lèi)庫(kù)應(yīng)用實(shí)現(xiàn)代碼
php FPDF類(lèi)庫(kù)應(yīng)用實(shí)現(xiàn)代碼2009-03-03
php對(duì)csv文件的讀取,寫(xiě)入,輸出下載操作詳解
以下是php對(duì)csv文件的讀取,寫(xiě)入,輸出下載操作進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過(guò)來(lái)參考下2013-08-08
PHP基于mcript擴(kuò)展實(shí)現(xiàn)對(duì)稱(chēng)加密功能示例
這篇文章主要介紹了PHP基于mcript擴(kuò)展實(shí)現(xiàn)對(duì)稱(chēng)加密功能,結(jié)合實(shí)例形式簡(jiǎn)單分析了php使用mcript擴(kuò)展進(jìn)行加密與解密相關(guān)操作技巧,需要的朋友可以參考下2019-02-02
關(guān)于PHP二進(jìn)制流 逐bit的低位在前算法(詳解)
本篇文章是對(duì)PHP二進(jìn)制流逐bit的低位在前算法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06

