實現代碼:
<?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' => '一等獎');
新聞熱點
疑難解答
圖片精選