在三分之一的时间内随机执行代码分支



我有一个问题。所以我有下面的代码:

protected function definir( $ticketInfos )
{
    if($ticketInfos->aInfosTicket["ProbabiliteGain"]>0)
    {
        $ticketInfos->setGainrecup( $this->getGain() );
    }
    else
    {
        $ticketInfos->setGainrecup( 0.0 );
    }
 }

ProbabiliteGain是一个常数,等于100。我想让1/3的人赢。2乘以$ticketInfos->setGainrecup( $this->getGain() ), 1乘以$ticketInfos->setGainrecup( 0.0 );最好的解是什么?提前致谢

我将使用php rand()函数来解决这个问题。

像这样:

protected function definir( $ticketInfos )
{
    $randomNumber = rand(1, 3);
    if($randomNumber < 3)
    {
        $ticketInfos->setGainrecup( $this->getGain() );
    }
    else
    {
        $ticketInfos->setGainrecup( 0.0 );
    }
 }

如果$randomNumber是1或2,我们执行$this->getGain();如果$randomNumber为3,则执行另一个函数。

你可以在这里找到更多关于PHP rand函数的信息

最新更新