尝试循环两次,但对于某些变量的循环次数不同

时间:2012-02-06 20:13:56

标签: php sql for-loop counter

我有一个游戏,每个玩家(共有5个玩家玩游戏)都有一个性能属性列表。它们列在下面的数组中:

$balance[$i]$marketshare[$i]$price[$i]$unitcost[$i]

$i = 0,1,2,3,4。并代表每个游戏玩家。 例如$balance[0]$marketshare[0]$price[0]$unitcost[0] 第一个玩家的值$balance[1]$marketshare[1]$price[1]$unitcost[1] 是第二个球员的价值观等等。

teamID是识别玩家的唯一ID。

我有一个表,我需要使用以下SQL将此数据插入。

for ($j=0;$j<6;$j++)
{

$value[0] = $profit[$j];
    $value[1] = $marketPercent[$j];
    $value[2] = $saleprice[$j];
    $value[3] = $unitprice[$j];
    $value[4] = "500";
    $value[5] = "600";  

    for ($i=0;$i<6;$i++)
    {


        $setOutputs = mysql_query("

        INSERT INTO `output`(`outputID`, `outputType`, `outputValue`,`teamID`) 
        VALUES (NULL, '$type[$i]', '$value[$i]','$teamID[$j]')

        ") or die($setOutputs."<br/><br/>".mysql_error());
    }

}

游戏只有5个玩家所以我只需要团队中的$ j循环直到它达到0 - 5 $teamID[$j]目前它运行到6并导致错误,因为该玩家没有数据。

如何修改我的代码才能执行此操作?

我确信这很简单,我无法理解它。

3 个答案:

答案 0 :(得分:2)

您从零开始,因此将for循环的while部分更改为小于5.

循环的迭代:

0 - 1
1 - 2
2 - 3
3 - 4
4 - 5

因此,如果它&lt; 5,最后一次迭代将是你的第五次。

答案 1 :(得分:1)

首先,我是0,1,2,3,4,但你循环到5(即6个值,包括0)..

改变这个:

for ($i=0;$i<6;$i++)

到这个

for ($i=0;$i<5;$i++)

0-5也是6名球员,而不是5名,所以如果你有5支队伍,你想改变这个:

for ($j=0;$j<6;$j++) 

到此:

for ($j=0;$j<5;$j++)  //i.e. 0,1,2,3,4 == 5 teams

答案 2 :(得分:1)

我认为您需要将$j=0;$j<6;$j++更改为$j=0;$j<5;$j++

这将给你0到4,包括5个不同的值 - 0也是一个值。