for loop不合适?

时间:2010-05-29 11:25:13

标签: php

我创建了一个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是数组。

由于

3 个答案:

答案 0 :(得分: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>';
 }
 ?>

答案 1 :(得分: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++)

答案 2 :(得分: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>';
}
?>

在循环之前你应该计算$ u。