有没有一种方法可以在while循环中排除循环中的行


Is there a way to exclude lines from looping in a while loop?

我不希望有几行受到while循环的影响。有什么办法可以做到吗?

while ($row = mysql_fetch_array($result))
{
    echo '<td>'.$total_N.'</td>'; //not to be looped
    echo '<td>'.'&nbsp'.'</td>'; //not to be looped
    $total +=$row['n'];
    echo '<tr><td>'.$row['l_numb'].'</td>';
    echo '<td>'.$row['p_numb'].'</td>';
    echo '<td>'.$row['n'].'</td><td>'.$row['g'].'</td></tr>';
} 

只需声明一个$count变量,使用if语句检查循环计数何时到达所需的特定行:

$count = 0;
while ($row = mysql_fetch_array($result))
{
    if ($count !== 5 && $count !== 10)
    {     
        echo '<td>'.$total_N.'</td>'; //not to be looped
        echo '<td>'.'&nbsp'.'</td>'; //not to be looped
        $total +=$row['n'];
        echo '<tr><td>'.$row['l_numb'].'</td>';
        echo '<td>'.$row['p_numb'].'</td>';
        echo '<td>'.$row['n'].'</td><td>'.$row['g'].'</td></tr>';
    }
    $count++;
} 

在上面的例子中,循环内的语句将不会针对第5行和第10行进行处理(循环仍将执行,但由于条件不满足,它不会进入if块)。这只是一个例子——你可以修改它来实现你真正想要的。