Heim  >  Artikel  >  Backend-Entwicklung  >  So implementieren Sie den PHP-Lucky-Wheel-Code

So implementieren Sie den PHP-Lucky-Wheel-Code

藏色散人
藏色散人Original
2021-12-14 09:40:093208Durchsuche

So implementieren Sie das PHP-Glücksrad: 1. Erstellen Sie eine PHP-Beispieldatei. 2. Implementieren Sie den Big-Wheel-Lotterie-Algorithmus mit dem Code „function get_gift(){...}“.

So implementieren Sie den PHP-Lucky-Wheel-Code

Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.4, Dell G3-Computer.

Wie implementiert man den PHP-Lucky-Wheel-Code?

PHP implementiert den großen Karussell-Lotterie-Algorithmus

Code:

 function get_gift(){  
        //拼装奖项数组 
        // 奖项id,奖品,概率
        $prize_arr = array(   
          '0' => array('id'=>1,'prize'=>'平板电脑','v'=>0),   
          '1' => array('id'=>2,'prize'=>'数码相机','v'=>1),   
          '2' => array('id'=>3,'prize'=>'音箱设备','v'=>1),   
          '3' => array('id'=>4,'prize'=>'4G优盘','v'=>1),   
          '4' => array('id'=>5,'prize'=>'10Q币','v'=>1),   
          '5' => array('id'=>6,'prize'=>'空奖','v'=>6),   
        );   
        foreach ($prize_arr as $key => $val) {   
          $arr[$val['id']] = $val['v'];//概率数组   
        }    
        $rid = get_rand($arr); //根据概率获取奖项id   
        $res['yes'] = $prize_arr[$rid-1]['prize']; //中奖项   
        unset($prize_arr[$rid-1]); //将中奖项从数组中剔除,剩下未中奖项   
        shuffle($prize_arr); //打乱数组顺序   
        for($i=0;$i<count($prize_arr);$i++){   
          $pr[] = $prize_arr[$i][&#39;prize&#39;];  //未中奖项数组 
        }   
        $res[&#39;no&#39;] = $pr; 
        // var_dump($res);
 
          
        if($res[&#39;yes&#39;]!=&#39;空奖&#39;){  
            $result[&#39;status&#39;]=1;  
            $result[&#39;name&#39;]=$res[&#39;yes&#39;];  
        }else{  
            $result[&#39;status&#39;]=-1;  
            $result[&#39;msg&#39;]=$res[&#39;yes&#39;];  
        }   
        //return $result;  
        var_dump($result);
    }  
 
    //计算中奖概率
    function get_rand($proArr) {   
      $result = &#39;&#39;;   
      //概率数组的总概率精度   
      $proSum = array_sum($proArr);   
      // var_dump($proSum);
      //概率数组循环   
      foreach ($proArr as $key => $proCur) {   
        $randNum = mt_rand(1, $proSum);  //返回随机整数 
 
        if ($randNum <= $proCur) {   
          $result = $key;   
          break;   
        } else {   
          $proSum -= $proCur;   
        }   
      }   
      unset ($proArr);   
      return $result;   
    }
    get_gift();

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo implementieren Sie den PHP-Lucky-Wheel-Code. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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