通过随机数生成兑换码和概率生成随机数

以下的方法是可以用来生成兑换码,以及按概率处理生成随机数的方法

首先是按概率生成随机数的方法,假设奖品有30000分,20000分,10000分,3000分,2000分

function get_rand(){
$point=rand(1,1000);    //生成(1~1000)的随机数
if($point==1){        //当随机数为1时候,得到30000分,即千分之一机会
$point=30000;
}else if($point>1&&$point<=11){  //2~11时候,得20000分,百分之一机会
$point = 20000;
}else if($point>11&&$point<=51){  //下面这些同理
$point=10000;
}else if($point>51&&$point<=251){
$point=3000;
}else{
$point=2000;
}
return $point;
}

这个方法可以自己通过控制概率达到控制一些中奖活动和抽奖事件的发生,当奖品足够大,只要主办方能把一些奖品设成概率为0或者是更加低概率就好。我还在网上看到有其它方法,不过不是很理解,这种感觉有点笨,但是还能用。

下面这个方法,大家可以用来生成兑换码,也是通过随机数生成,喜欢的朋友可以直接复制代码就能用

function get_code(){
$len=5; //在时间戳后加多少个随机数,自己喜欢
$chars='ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';
$string=time();
for(;$len>=1;$len--)
{
$position=rand()%strlen($chars);
$position2=rand()%strlen($string);
$string=substr_replace($string,substr($chars,$position,1),$position2,0);
}
return $string;
}

posted @ 2017-06-05 16:56  灯笼的灵魂  阅读(1202)  评论(0编辑  收藏  举报