php 实现简单抽奖

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 实现简单抽奖相关的知识,希望对你有一定的参考价值。

首先有一组数据,里面有中奖的物品和概率

$base_data = [
  [‘name‘=>‘特等奖‘,‘num‘=>1],
  [‘name‘=>‘一等奖‘,‘num‘=>5],
  [‘name‘=>‘二等奖‘,‘num‘=>20],
  [‘name‘=>‘三等奖‘,‘num‘=>50],
  [‘name‘=>‘真遗憾‘,‘num‘=>100]
];

 

两种实现方法

//根据num的个数生成一个数组,并合并
//打乱数组,然后随机返回一个元素

//计算概率1
function data($arr){
  $return = [];
  foreach($arr as $key => $val){
    for($i = 0; $i < $val[‘num‘]; $i++){
      $return[] = $val[‘name‘];
    }
  }
  shuffle($return);
  return $return[array_rand($return)];
}
$data = data($base_data);
var_dump($data);

 

//计算概率2
function get_rand($arr){
  $sum = 0;
  $result = ‘‘;
  foreach($arr as $v){
    $sum += $v[‘num‘];
  }
  foreach($arr as $val){
    $rand = mt_rand(1, $sum);
    if($rand <= $val[‘num‘]){
      $result = $val[‘name‘];
      break;
    }else{
      $sum -= $val[‘num‘];
    }
  }
  return $result;
}

 





以上是关于php 实现简单抽奖的主要内容,如果未能解决你的问题,请参考以下文章

PHP+ajax+jquery+flash实现老虎机抽奖

php 实现简单抽奖

使用jQuery+PHP+Mysql实现抽奖程序

PHP+jQuery开发简单的翻牌抽奖实例

前端+php实现概率抽奖

PHP jQuery微信大转盘抽奖源代码分享