php 抽奖策画

    添加时间:2013-6-11 点击量:

    假设我们要做一个抽奖功能,如今有10种奖品,每样的抽中概率都是10%。



    function _xRand(¥arr) {
    
    ¥r=rand(1, 100);
    ¥k=0;
    foreach¥arr as ¥v) {
    ¥k+=¥v[1];
    if¥r<=¥k) {
    return ¥v[0];
    }
    }
    }

    ¥arr=array
    array(1-10,10),
    array(11-20,10),
    array(21-30,10),
    array(31-40,10),
    array(41-50,10),
    array(51-60,10),
    array(61-70,10),
    array(71-80,10),
    array(81-90,10),
    array(91-100,10),
    );

    _xRand(
    ¥arr);


    思路可能是如许:


    1.起首从1-100中随机一个数


    2.策画随机数呈如今那个阶段


    3.返回中奖



    注:


    若是总几率跨越100%,跨越项目组无效。例如:



    ¥arr=array
    array(a,50),
    array(b,30),
    array(c,20),
    array(d,10),
    );

    ¥arr2=array
    array(a,50),
    array(b,40),
    array(c,20),
    );


    ¥arr永远不会返回{d},¥arr2{c}其实只有10%的几率会返回。




    道理很简单,然则申明起来很麻烦,多看多想就熟悉打听了。

    彼此相爱,却不要让爱成了束缚:不如让它成为涌动的大海,两岸乃是你们的灵魂。互斟满杯,却不要同饮一杯。相赠面包,却不要共食一个。一起歌舞欢喜,却依然各自独立,相互交心,却不是让对方收藏。因为唯有生命之手,方能收容你们的心。站在一起却不要过于靠近。—— 纪伯伦《先知》
    分享到: