dongsha2792 2011-10-06 17:36
浏览 60
已采纳

PHP fgetcsv() - 查找列数

I'm trying to determine how many columns a csv file has.

Here's my script, which is only utilizing the first column, but I'm running slightly blind. I want to place a variable that limits the column count. (since I may make a mistake and add a column, or even miss a column)

<?php
$allowedColNum=5;
$batchcount=0;
$file = fopen($file_name, "r"); 
while ($line = fgetcsv($file)){
 /* I want to stop the loop if the $allowedColNum is not correct */                 
  $col = $line[0]; 
  echo $batchcount++.". ".$col."
";
}

fclose($file);
?>

I'm sure it's one of those easy easy things that I'm not getting.

  • 写回答

3条回答 默认 最新

  • dsfsd43523 2011-10-06 17:38
    关注

    If I understand, you simply need count($line), because fgetcsv() has returned an array representing one row from the CSV file. The array's count() is therefore the number of source columns.

    while ($line = fgetcsv($file)){
    
      // count($line) is the number of columns
      $numcols = count($line);
    
      // Bail out of the loop if columns are incorrect
      if ($numcols != $allowedColNum) {
         break;
      }
      $col = $line[0]; 
      echo $batchcount++.". ".$col."
    ";
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 R语言卸载之后无法重装,显示电脑存在下载某些较大二进制文件行为,怎么办
  • ¥15 java 的protected权限 ,问题在注释里