如何在while循环中删除第一行

时间:2014-07-24 07:12:10

标签: php file

这是我的PHP脚本,

打印文件。

$f = fopen("file_name", "r");

echo "<tbody>";
while (($line = fgetcsv($f)) !== false)
{
        foreach ($line as $cell)
                {
                echo "<td>" . htmlspecialchars($cell) . "</td>";
        }

        echo "</tr>\n";
}

echo "</tbody>";

fclose($f);

echo "\n</table>";
?>

这是file_name

NODE,CGR,TERMID,VMGW,ET
GMSC01,932,1337,,1&-2&-3&-4&-5&-6&-7&-8&-9&-10&-11&-12&-13&-14&-15
GMSC01,932,1338,,1&-2&-3&-4&-5&-6&-7&-8&-9&-10&-11&-12&-13&-14&-15
GMSC01,932,1337,,1&-2&-3&-4&-5&-6&-7&-8&-9&-10&-11&-12&-13&-14&-15
GMSC01,932,1338,,1&-2&-3&-4&-5&-6&-7&-8&-9&-10&-11&-12&-13&-14&-15

现在我要打印除第一行以外的文件,将第二行的剩余数据打印到结束。

请建议如何显示第一行以外的文件。

4 个答案:

答案 0 :(得分:1)

使用像$counter = 0;这样的计数器变量,并在每次迭代时递增它,而不是使用if条件跳过使用if($counter != 1)的第一次迭代

$counter = 0;
while (($line = fgetcsv($f)) !== false) {
    $counter++;
    if($counter != 1) {
        foreach ($line as $cell) {
            echo "<td>" . htmlspecialchars($cell) . "</td>";
        }
        echo "</tr>\n";
    }
}

答案 1 :(得分:0)

只需阅读while循环的第一行OUT:

$f = fopen("file_name", "r");
$line = fgetcsv($f);
echo "<tbody>";
while (($line = fgetcsv($f)) !== false)
{
        foreach ($line as $cell)
                {
                echo "<td>" . htmlspecialchars($cell) . "</td>";
        }

        echo "</tr>\n";
}
echo "</tbody>";
fclose($f);

答案 2 :(得分:0)

$f = fopen("file_name", "r");


echo "<tbody>";
$flag=0;
while (($line = fgetcsv($f)) !== false)
{

   if($flag==0)
   {
      //skip the first line
      $flag=1;

   }
   else
  {
     foreach ($line as $cell)
     {
         echo "<td>" . htmlspecialchars($cell) . "</td>";`
     }

    echo "</tr>\n";
   }

echo "</tbody>";

fclose($f);

echo "\n</table>";

?>

答案 3 :(得分:0)

这是一个更高效的版本,它不会延伸整个循环内容的条件,并使用continue语句来缩短第一次迭代。

$first = true;
while (($line = fgetcsv($f)) !== false) {
    if ($first) {
        $first = false;
        continue;
    }
    echo "<tr>\n";
    foreach ($line as $cell) {
        echo "<td>" . htmlspecialchars($cell) . "</td>";
    }
    echo "</tr>\n";
    }
}