继续在循环内循环

时间:2015-02-27 00:48:59

标签: php

我有一个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开始 例如,现在如果我有2个组,每个组有2个产品类别,那么在第一组中,选择名称将是productID_0productID_1,但也在第二组中。我需要在第二步继续productID_2productID_3

怎么做?

1 个答案:

答案 0 :(得分:1)

为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>";
}

BTW,for循环是这种循环更常用的习惯用法,因为它允许你在一个地方看到整个结构。

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