使用带有rand()函数的减号?或替代方法

时间:2013-03-23 14:43:41

标签: php

我遇到了一个逻辑障碍!

我有一个包含6个操作的页面。单击某个操作时,它只返回true或false。

每个动作都有自己的成功机会,而真/假是基于随机生成的数字是高于还是低于动作成功值。

机会值存储在数据库中,如: 10-20-30-40-50-60

我使用explode调用这些值并使用implode插入它们。

我想要达到的目的是每次点击一个动作并提交表单时,将这些机会值更改为1,更少或相同(最多65),

这是我的尝试,但无济于事。

<?PHP

//CHANCE 0 (action 1)

if ($chance[0] = 0 ){ 
    $chance[0] = rand(0,1); 

    }elseif ($chance[0] = 1 ){
             $chance[0] = rand(1,2); 

    }elseif ($chance[0] >= 2 ){
             $chance[0] = $chance[0] + rand(-1,1) ; 

    }elseif ($chance[0] >= 65 ){
             $chance[0] = 65;
    }

//CHANCE 1 (action 2)

if ($chance[1] = 0 ){ 
    $chance[1] = rand(0,1); 

    }elseif ($chance[1] = 1 ){
             $chance[1] = rand(1,2); 

    }elseif ($chance[1] >= 2 ){
             $chance[1] = $chance[0] + rand(-1,1) ; 

    }elseif ($chance[1] >= 65 ){
             $chance[1] = 65;
    }

等......所有机会[0]到机会[5]

然后,

$chancearray = array($chance[0], $chance[1], $chance[2], $chance[3], $chance[4], $chance[5]);

$newchancearray = implode("-",$chancearray);

?>

并将其插入数据库。

在提交表单后,有没有人可以帮助我将-1,0或1添加到机会值的逻辑?

此刻它将所有值更改为2 ??

所以如果机会是10-20-30-40-50-60,一旦提交,它就会变成2-2-2-2-2-2。

帮助? :(

2 个答案:

答案 0 :(得分:1)

在IF的

上使用的布尔表达式中将=更改为==

而不是

if ($chance[1] = 0 ){ 

应该是

if ($chance[1] == 0 ){ 

答案 1 :(得分:-1)

你知道“==”吗?

代码错误