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

Php 三分之一时间内随机执行代码分支,php,Php,我有个问题。因此,我有以下代码: protected function definir( $ticketInfos ) { if($ticketInfos->aInfosTicket["ProbabiliteGain"]>0) { $ticketInfos->setGainrecup( $this->getGain() ); } else { $ticketInfos->setGainrecup

我有个问题。因此,我有以下代码:

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)最佳解决方案是什么?Thx预先

我将使用php rand()函数来实现这一点

大概是这样的:

protected function definir( $ticketInfos )
{
    $randomNumber = rand(1, 3);
    if($randomNumber < 3)
    {
        $ticketInfos->setGainrecup( $this->getGain() );
    }
    else
    {
        $ticketInfos->setGainrecup( 0.0 );
    }
 }
受保护功能定义($ticketInfos)
{
$randomNumber=兰特(1,3);
如果($randomNumber<3)
{
$ticketInfos->setGainrecup($this->getGain());
}
其他的
{
$ticketInfos->setGainrecup(0.0);
}
}
如果$randomNumber为1或2,则执行$this->getGain(); 如果$randomNumber为3,则执行另一个函数


您可以找到有关PHP rand函数的更多信息

提示:生成随机数。我尝试了此解决方案,但不适用于我,因为我希望在所有2个游戏之后:
setGainrecup(0.0)
,在您的解决方案中,我可以在5或7个游戏后获得数字3。您的问题是“在三分之一的时间内随机执行代码分支”。如果您希望它在固定时间之后运行,那么您的代码不是随机的。是否存在解决我的问题的解决方案?实现您希望的方法之一是将信息存储在$ticketInfos中。然后你可以做$ticketInfos->getGameNumber。并在if/else语句之后递增它(但另一个解决方案?:)