doutong7216 2012-06-05 16:26
浏览 231
已采纳

跳过CSV文件的第一行

I am trying to import a CSV file. Due to the program we use, the first row is basically all headers that I would like to skip since I've already put my own headers in via HTML. How can I get the code to skip the first row of the CSV? (the strpos command is to cut off the first field in all the rows.)

<?php
$row = 1;
if (($handle = fopen("ptt.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
    $num = count($data);
           $row++;
    for ($c=0; $c < $num; $c++) {
    if(strpos($data[$c], 'Finished') !== false) {
    $c++;
echo "<TR> <TD nowrap>" . $data[$c] . "</ TD>"; }
    Else{
        echo "<TD nowrap>" .  $data[$c] . "</ TD>";
        }
    }
}
fclose($handle);
}
?>
  • 写回答

8条回答 默认 最新

  • douqing0713 2012-06-05 16:32
    关注

    As you are keeping track of the row number anyway, you can use continue to skip the rest of the loop for the first row.

    For example, add this at the start of your while loop (just above $num = count($data)):

    if($row == 1){ $row++; continue; }
    

    There are other ways to do this, but just make sure that when you continue, $row is still being incremented or you'll get an infinite loop!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(7条)

报告相同问题?