-2

我遇到了一个逻辑障碍!

我有一个包含 6 个操作的页面。当您单击一个动作时,它只返回一个真或假。

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

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

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

我想要实现的是将这些机会值更改为多 1、少 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。

帮助?:(

4

2 回答 2

1

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

代替

if ($chance[1] = 0 ){ 

应该

if ($chance[1] == 0 ){ 
于 2013-03-23T14:53:26.487 回答
-1

你知道“==”吗?

代码错误

于 2013-03-23T14:46:21.050 回答