2011-04-10 29 views
1

我怎樣才能做這樣的事情:我可以做到這一點(環路循環)?

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)與所述第二類的所有號碼的第一類:

FS 1-1,1-2 , 1-3, 2-1,2-2 , 2-3

感謝

+4

您可以這樣做,但您需要爲內部循環使用不同的變量。 – 2011-04-10 14:02:52

回答

3

你只需要使用不同的變量名遞增第二「for」循環。

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

你重新定義$i第二環,與第一循環的計數器相沖突的內部。使用其他變量,如$j

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

大概:$ listo [$ x ++] = $ preparado1 [$ i]。 $ preparadoex [$ D]; – 2011-04-10 14:06:06

+0

沒有在任何地方看到'$ x',但我認爲忽略該變量也可以,因爲它將它附加到列表的末尾。 – Blender 2011-04-10 14:07:27

+0

沒錯,$ x不是絕對必要的。我希望它的聲明是隱含的。 – 2011-04-10 14:10:22

3

您可以有多個嵌套循環,而不僅僅是兩個。唯一需要確定的是它們每個都使用一個唯一的循環計數器。

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

在您的測試案例中,您的第二個應該使用另一個變量,如$j