Heim > Backend-Entwicklung > PHP-Tutorial > Implementierungscode für den PHP-Lotterie-Wahrscheinlichkeitsalgorithmus

Implementierungscode für den PHP-Lotterie-Wahrscheinlichkeitsalgorithmus

高洛峰
Freigeben: 2023-03-05 11:18:01
Original
1733 Leute haben es durchsucht

Implementierungscode:

<?php
/**
 *php 中奖概率算法
 *
 */
function get_zj( $jp ,$glname = &#39;gl&#39;){
    $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( &#39;gl&#39; => 10 , &#39;title&#39; => &#39;一等奖&#39;);的中奖概率 = 10 / (10+20+30+40)
$jp = array();
$jp[] = array( &#39;gl&#39; => 10 , &#39;title&#39; => &#39;一等奖&#39;);
$jp[] = array( &#39;gl&#39; => 20 , &#39;title&#39; => &#39;二等奖&#39;);
$jp[] = array( &#39;gl&#39; => 30 , &#39;title&#39; => &#39;三等奖&#39;);
$jp[] = array( &#39;gl&#39; => 40 , &#39;title&#39; => &#39;未中奖&#39;);
  
  
//调用 中奖概率函数 
//返回中奖 信息数组 例如:array( &#39;gl&#39; => 10 , &#39;title&#39; => &#39;一等奖&#39;);
$zj = get_zj( $jp );
  
//输出数组
var_dump($zj);
Nach dem Login kopieren

Methode verwenden
Simulieren Sie eine Gewinnkonfiguration, die aus der Datenbank als Gewinnwahrscheinlichkeit gelesen wird
Zum Beispiel array( 'gl' => 10, ' title' => 'Erster Preis'); Gewinnwahrscheinlichkeit = 10 / (10+20+30+40)
$jp = array();
$jp[] = array( 'gl' => ; 10 , 'title' => 'Erster Preis');
$jp[] = array( 'gl' => 20 , 'title' => 'Zweiter Preis');
$jp [] = array( 'gl' => 30 , 'title' => 'Dritter Preis');
$jp[] = array( 'gl' => 40 , 'title ' => ' Nicht gewinnen');

Rufen Sie die Gewinnwahrscheinlichkeitsfunktion auf
Gibt das Gewinninformationsarray zurück. Beispiel: array( 'gl' => 10 , 'title' => 'First Prize' );

Weitere Artikel zum Implementierungscode des PHP-Gewinnwahrscheinlichkeitsalgorithmus finden Sie auf der chinesischen PHP-Website!

Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage