我可以这样做(Loop in Loop)吗?

时间:2011-04-10 14:01:35

标签: php for-loop

我该怎么做:

for ($i = 1; $i <= $_SESSION['variable'] * $_SESSION['variable2']; $i++) {
    $listo[$i] = $preparado1[$i].
    for ($i = 1; $i <= $_SESSION['variable2']; $i++) {
        $preparadoex[$i];
    };
}

但是没有用,我想这个:

for ($i = 1; $i <= $_SESSION['variable'] * $_SESSION['variable2']; $i++) {
    for ($i = 1; $i <= $_SESSION['variable2']; $i++) {
        $listo[$i] = $preparado1[$i].$preparadoex[$i];
    }
} 

脚本很简单,我有两个类,第一个有2个数字,两个有3个数字我应该“连接”第一个类中的所有数字(2)和第二个类的所有数字:

˚F-S 1-1, 1-2, 1-3, 2-1, 2-2, 2-3

由于

3 个答案:

答案 0 :(得分:7)

你在第二个循环中重新定义$i,它与第一个循环的计数器冲突。使用其他变量,例如$j

for($i = 1;$i <=$_SESSION['variable'] * $_SESSION['variable2']; $i++ ){
    for($j = 1; $j <=$_SESSION['variable2']; $j++){
         $listo[] = $preparado1[$i] . $preparadoex[$j];
    }
} 

答案 1 :(得分:3)

您只需使用不同的变量名称来增加第二个'for'循环。

for($i = 1;$i <=$_SESSION['variable'] * $_SESSION['variable2']; $i++ )
{
    for($j = 1; $j <=$_SESSION['variable2']; $j++) 
    {
         $listo[] = $preparado1[$i] . $preparadoex[$j];
    }
} 

答案 2 :(得分:3)

您可以拥有多个嵌套循环,而不仅仅是两个。您唯一需要确保的是它们每个都使用一个独特的循环计数器。

for($i = 1;$i <=$_SESSION['variable'] * $_SESSION['variable2']; $i++ ){
    for($j = 1; $j <=$_SESSION['variable2']; $j++){
         $listo[$i] = $preparado1[$i] . $preparadoex[$i];
    }
}

在您的测试用例中,您的第二个应该使用另一个变量,例如$j