用php实现用户投资,当用户点击投资时,会返回三种不同的结果(即奖项:一等奖,二等奖,三等奖,谢谢抽奖)。
思路:
此奖值出现的概率要依次降低,于是就有了一个类似权重计算的一个算法了。
以下分享下这个权重计算的实现方法。
此实例仅适合二维数组且一维为数字索引的数组,数据数组结构如下:
简单计算权重的算法,如下:
<?php // 权重数值越高,被返回的概率越大 // edit by www.jb200.com function countWeight($data){ $weight=0; $temp=array(); foreach($data as $v){ $weight+=$v['weight']; for($i=0;$i<$v['weight'];$i++){ $temp[]=$v;//放大数组 } } $int=mt_rand(0,$weight-1);//获取一个随机数 $result=$temp[$int]; return $result; } ?>
输出结果:
有兴趣的朋友,可以继续完善下本程序,做出一个漂亮的php抽奖程序。
您可能感兴趣的文章:
学习php抽奖程序之几率算法
php抽奖程序(抽取三名幸运观众)的核心代码
php抽奖小程序代码一例
php分时间段的抽奖程序代码
php抽奖计算的例子