如何使用 fgetcsv 在 while 循环中跳过标题行?

发布于 2024-10-07 08:20:43 字数 645 浏览 3 评论 0原文

我无法像我之前使用的代码那样获得我编写的跳过第一行(标题)的新代码(见底部)。

我没有收到任何错误,但只是无法让它省略第一行。

$file = fopen($uploadcsv,"r");
$column_headers = array();
$row_count = 0;
while(!feof($file)) {   
  if ($row_count==0){
    $column_headers = $file;
  } else {
    print_r(fgetcsv($file));
  }
  ++$row_count;
  }

fclose($file);

以下是跳过标题的旧源,供参考和比较。

$handle = fopen($uploadcsv, 'r');
$column_headers = array();
$row_count = 0;
while (($data = fgetcsv($handle, 100000, ",")) !== FALSE) {
  if ($row_count==0){
    $column_headers = $data;
  } else {
    print_r($data);
  }
  ++$row_count;
}
fclose($handle);

I can't get the new code I've written to skip the first row (header) as the code I was using before did (see bottom).

I'm not receiving any errors, but just can't get it to omit first row.

$file = fopen($uploadcsv,"r");
$column_headers = array();
$row_count = 0;
while(!feof($file)) {   
  if ($row_count==0){
    $column_headers = $file;
  } else {
    print_r(fgetcsv($file));
  }
  ++$row_count;
  }

fclose($file);

Below is the old source that skipped the header, for reference and comparison.

$handle = fopen($uploadcsv, 'r');
$column_headers = array();
$row_count = 0;
while (($data = fgetcsv($handle, 100000, ",")) !== FALSE) {
  if ($row_count==0){
    $column_headers = $data;
  } else {
    print_r($data);
  }
  ++$row_count;
}
fclose($handle);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

纵性 2024-10-14 08:20:43

为什么还要数呢?只需在循环之前获取标题即可。

$column_headers = fgetcsv($file);
while(!feof($file)) {
   ...

另外,您只是将文件指针分配给变量。

Why even count? Just get the headers before looping.

$column_headers = fgetcsv($file);
while(!feof($file)) {
   ...

Also, you're only assigning the file pointer to the variable.

酒儿 2024-10-14 08:20:43

$row_count0时,您没有读取任何行。

更改

if ($row_count==0){
    $column_headers = $file;  // just assigning file handle.
}

if ($row_count==0){
    $column_headers = fgetcsv($file); // read the row.
}

When $row_count is 0 you are not reading any row.

Change

if ($row_count==0){
    $column_headers = $file;  // just assigning file handle.
}

to

if ($row_count==0){
    $column_headers = fgetcsv($file); // read the row.
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文