2010-05-29 124 views
0

我已經創建了一個for循環。 我想通過很多成員循環,併爲表中的每個成員創建一行。for循環不適合?

它循環了太多次。 是否使用正確的循環類型?

 <?php 
    for ($i = 1; $i = count($u); $i++) 
    { 
     ?> 
     <tr> 
       <?php 
        echo "<td>$i</td>"; 
       ?> 

       <?php 
       foreach ($u as $username) 
       { 
        echo "<td>$username</td>"; 
       } 
       ?> 
       <?php 
       foreach ($p as $points) 
       { 
        echo "<td>$points</td>"; 
       } 
       ?> 
     </tr> 
     <? 
    } 
    ?> 

$ u和$ p是數組。

感謝

回答

4

可以縮短一點,並取下內循環:

<php 
for ($i = 1; $i <= count($u); $i++) 
{ 
    echo '<tr>'; 
    echo "<td>$i</td>"; 
    echo "<td>$u[$i]</td>"; 
    echo "<td>$p[$i]</td>"; 
    echo '</tr>'; 
} 
?> 
+0

循環內的變量需要在標籤內。 – Turnor 2010-05-29 11:31:22

+0

@Turnor:你是對的,沒有注意到,謝謝。 – Sarfraz 2010-05-29 11:32:44

+0

我只是做了類似的事情,謝謝了。 很高興知道即時獲得正確的想法。 – sark9012 2010-05-29 11:32:47

2

$i = count($u)在循環是什麼導致了問題:

for ($i = 1; $i = count($u); $i++) 

在循環的每次迭代中,您使用的是單=分配count($u)$i。應該

for ($i = 1; $i <= count($u); $i++) 

for ($i = 0; $i < count($u); $i++) 
+0

Ahhh thanks .... – sark9012 2010-05-29 11:31:25

0
<?php 
$count = count($u); 
for ($i = 1; $i < $count; $i++) { 
    echo '<tr>'; 
    echo '<td>' . $i . '</td>'; 
    foreach ($u as $username) { 
     echo '<td>' . $username . '</td>'; 
    } 
    foreach ($p as $points) { 
     echo '<td>' . $points . '</td>'; 
    } 
    echo '</tr>'; 
} 
?>

,您最好在循環前$計數ü。