PHP 룰렛 추첨 알고리즘 공유 실현

본 논문 의 사례 는 PHP 가 룰렛 추첨 알고리즘 을 실현 하 는 구체 적 인 코드 를 공유 하여 여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
흐름:
1.조립 상 배열
2.확률 계산
3.당 첨 상황 복귀
코드 는 다음 과 같 습 니 다:
당 첨 확률'v'는 배경 에서 설정 할 수 있 습 니 다.이 방법 으로 전송 하면 정수 에 주의 하 세 요.

function get_gift(){ 
  //       
  //   id,  ,  
  $prize_arr = array( 
   '0' => array('id'=>1,'prize'=>'    ','v'=>0), 
   '1' => array('id'=>2,'prize'=>'    ','v'=>0), 
   '2' => array('id'=>3,'prize'=>'    ','v'=>0), 
   '3' => array('id'=>4,'prize'=>'4G  ','v'=>5), 
   '4' => array('id'=>5,'prize'=>'10Q ','v'=>0), 
   '5' => array('id'=>6,'prize'=>'  ','v'=>5), 
  ); 
  foreach ($prize_arr as $key => $val) { 
   $arr[$val['id']] = $val['v'];//     
  } 
  $rid = $this->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]['prize']; //       
  } 
  $res['no'] = $pr; 
  // var_dump($res);

   
  if($res['yes']!='  '){ 
   $result['status']=1; 
   $result['name']=$res['yes']; 
  }else{ 
   $result['status']=-1; 
   $result['msg']=$res['yes']; 
  } 
  //return $result; 
  var_dump($result);
 } 

 //      
 function get_rand($proArr) { 
  $result = ''; 
  //           
  $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; 
 } 
효과 그림:

추첨 기능 의 실현 에 대해 더 많은 것 을 배우 고 싶 으 시 면 이 주 제 를 참고 하 시기 바 랍 니 다추첨 기능
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기