在多个for循环中保持计数

时间:2015-10-26 19:22:09

标签: php mysql for-loop

我在这样的循环中有一个循环:

//stuff here to determine what $my_var will be
for($i=0;$i<count($my_var);$i++) {
    //stuff here to determine what $anothervar will be
    for ($y = 1; $y <= $anothervar; $y++) {
        //help needed in here
        echo $y; //makes it so count starts over each time it goes around
    }
}

my_var会循环一定次数,而不是总是相同的数量。

内环也是一个随机数。

输出可能如下所示:

1
    1,2
2
3
4
5
6
    1,2,3

所以在第一个主循环中,内循环发生了两次。在第6个主循环中,内循环发生了3次。

我想做的不是每次从1开始的内循环,我希望它继续计数。所以我希望输出像这样:

1
    1,2
2
3
4
5
6
    3,4,5

假设第3个主循环中有一些内部循环,我们将它设为4个内部循环,然后输出应该是这样的:

1
    1,2
2
3
    3,4,5,6
4
5
6
    7,8,9

如何在循环内的循环中连续计数?

修改

以下是最终工作的内容:

//stuff here to determine what $my_var will be
$y = 1;
for($i=0;$i<count($my_var);$i++) {
    //stuff here to determine what $anothervar will be
    for (; $y <= $anothervar; $y++) {
        //help needed in here
        echo $y; //this now continues to count up instead of starting over each main loop
    }
    $y = 1;
}

2 个答案:

答案 0 :(得分:1)

$x = 0;
for($i=0;$i<count($my_var);$i++) {
    //stuff here to determine what $anothervar will be
    for ($y = 1; $y <= $anothervar; $y++) {
        $x++;
        echo $x; // now x is incremented every inner loop by 1
    }
}

刚刚更改了第一个代码示例的3行。

答案 1 :(得分:0)

无论你在哪里看到$y = 1,你都要将它设置回1.因此,如果你想让它继续增加,那么就不要这样做 - 除了在开始之外,在循环之外。

$y = 1;
for($i=0;$i<count($my_var);$i++) {
    //stuff here to determine what $anothervar will be
    for (; $y <= $anothervar; $y++) {
        //help needed in here
        echo $y; //this now continues to count up instead of starting over each main loop
    }
}