我遇到了一个逻辑障碍!
我有一个包含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。
帮助? :(
答案 0 :(得分:1)
在IF的
上使用的布尔表达式中将=更改为==而不是
if ($chance[1] = 0 ){
应该是
if ($chance[1] == 0 ){
答案 1 :(得分:-1)
你知道“==”吗?
代码错误