抽奖逻辑:有10个奖品,每个奖品的概率不一样,设计一种算法至少抽中其中的一个 算法讲解:10个奖品,每个奖品的概率是一个范围,把所有的范围都加到一起作为整体x,然后随机1 ~ x数字n,n落到哪个区间内,就中了哪个奖品
$奖品概率 = [10,35,50,....]; $x = array_sum($奖品概率); $n = mt_rand(); foreach($奖品概率 as $k => $item){ if($n < $item){ return $k; } $n -= $item; }