在循环中继续循环


Continue loop inside loop

我在另一个while循环和另一个while循环中都有while循环。这与按类别和按组分类的产品相呼应。简化示例代码如下:

$a=0;
while(2 > $a) {
    echo "<div><h3>Group</h3>";
    $b=0;
    while(5 > $b) {
        echo "<label>Category</label>";
        echo "<select name='productID_".$b."'>";
        $c=0;
        while(10 > $c) {
            echo "<option>product</option>";
            $c++;
        }
        echo "</select><br/>";
        $b++;
    }
    echo "</div>";
    $a++;
}

我需要的是选择名称在另一个组中继续,并且不再从0开始
例如,现在如果我有两个组,每个组有两个产品类别,那么在第一组中,选择名称将是productID_0productID_1,但在第二组中也是如此。我需要它在第二秒内继续使用productID_2productID_3

如何做到这一点?

在HTML中为数字使用与循环控制不同的变量:

$i = 0;
for ($a = 0; $a < 2; $a++) {
    echo "<div><h3>Group</h3>";
    for ($b = 0; $b < 5; $b++) {
        echo "<label>Category</label>";
        echo "<select name='productID_".$i."'>";
        $i++;
        for ($c = 0; $c < 10; $c++) {
            echo "<option>product</option>";
        }
        echo "</select><br/>";
    }
    echo "</div>";
}

顺便说一句,for循环是更常见的类似循环的习惯用法,因为它可以让你在一个地方看到整个结构。

或者,您可以使用name='productID[]',而不是为它们提供不同的名称。提交表单后,$_POST['productID']将包含所有值的数组。