抽奖

2020-07-23  本文已影响0人  范er_er
$arr = array(
          array('id' => 1, 'name' => '2积分', 'v' => 60000, 'gift' => 2),
          array('id' => 2, 'name' => '9.4折vip折扣券(限VIP基础版)', 'v' => 10000),
          );
ps:id为奖品id,name为奖品名字,V为奖品概率,gift为奖品值

//抽奖
function get_rand($proArr)
{
    $result = array();
    foreach ($proArr as $key => $val) {
        $arr[$key] = $val['v'];
    }
    // 概率数组的总概率
    $proSum = array_sum($arr);
    asort($arr);
    // 概率数组循环
    foreach ($arr as $k => $v) {
        $randNum = mt_rand(1, $proSum);
        if ($randNum <= $v) {
            $result = $proArr[$k];
            break;
        } else {
            $proSum -= $v;
        }
    }
    return $result;
}
上一篇 下一篇

猜你喜欢

热点阅读