我正在尝试导入CSV文件。由于我们使用的程序,第一行基本上是我想跳过的所有标题,因为我已经通过HTML放入了自己的标题。我如何获得代码跳过CSV的第一行?(strpos命令是切断所有行中的第一个字段。)
<?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);
}
?>
字符串
9条答案
按热度按时间wqlqzqxt1#
与其使用if条件来检查它是否是第一行,更好的解决方案是在while循环开始的行之前添加一行额外的代码,如下所示:
字符串
就这么简单......
a9wyjsp72#
由于您无论如何都要跟踪行号,因此可以使用
continue
跳过第一行的其余循环。例如,在while循环的开始处(
$num = count($data)
的正上方)添加以下内容:字符串
还有其他方法可以做到这一点,但只要确保当你继续,
$row
仍然是递增的,否则你会得到一个无限循环!sulc1iza3#
请使用以下代码行
字符串
将flag变量设置为true并将其设置为false将跳过CSV文件的第一行。这很简单,易于实现。
y0u0uwnf4#
把它放在while循环中:
第一个月
ykejflvf5#
在
$row++;
上面的while
循环体中添加以下内容:字符串
f8rj6qna6#
字符串
sgtfey8w7#
这对我很有效:
字符串
iyzzxitl8#
在文件的open stmt和while循环的开始之间进行额外的Read是最简单的方法,但是如果文件没有头记录,则会丢失第一次读取。
ki1q1bka9#
使用此代码
字符串