PHP动态创建CSV:跳过CSV文件的第一行 [英] PHP dynamically create CSV: Skip the first line of a CSV file
问题描述
我正在尝试导入CSV文件.由于我们使用的程序,第一行基本上是我想跳过的所有标头,因为我已经通过HTML放入了自己的标头.如何获得跳过CSV第一行的代码? (strpos命令将切掉所有行中的第一个字段.)
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);
}
?>
推荐答案
无论如何都要跟踪行号,可以使用continue
跳过第一行的其余循环.
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.
例如,将其添加到while循环的开头(恰好在$num = count($data)
上方):
For example, add this at the start of your while loop (just above $num = count($data)
):
if($row == 1){ $row++; continue; }
还有其他方法可以执行此操作,但是只要确保继续操作,$row
仍在递增,否则您将陷入无限循环!
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!
这篇关于PHP动态创建CSV:跳过CSV文件的第一行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!