2010-05-29 82 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>'; 
} 
?>

,您最好在循环前$计数ü。