PHP从二维数组中根据权重随机取出一个元素,权重越高取出的概率越高,抽奖的简单算法。
二维数组数据如下,weight代表权重大小
$data = [ ['id'=>1,'name'=>'特等奖','weight'=>1], ['id'=>2,'name'=>'一等奖','weight'=>3], ['id'=>3,'name'=>'二等奖','weight'=>5], ['id'=>4,'name'=>'三等奖','weight'=>10], ['id'=>5,'name'=>'四等奖','weight'=>20], ['id'=>6,'name'=>'五等奖','weight'=>30], ['id'=>7,'name'=>'谢谢抽奖','weight'=>100] ];
方法一:按照权重生成一个数组,数组随机取值即可。