跳过PHP中CSV的前3行

跳过PHP中CSV的前3行,php,csv,Php,Csv,我有一个readCSV函数,现在跳过第一行,但我需要它跳过前三行 实现这一目标的首选方式是什么 function readCSV($csvFile){ $file_handle = fopen($csvFile, 'r'); while (!feof($file_handle) ) { $array = fgetcsv($file_handle, 'r', ';'); $line_of_text[] = array('dato'=>$array[0],'vs

我有一个readCSV函数,现在跳过第一行,但我需要它跳过前三行

实现这一目标的首选方式是什么

function readCSV($csvFile){
   $file_handle = fopen($csvFile, 'r');
   while (!feof($file_handle) ) {
     $array = fgetcsv($file_handle, 'r', ';');
     $line_of_text[] = array('dato'=>$array[0],'vs'=>trim($array[1]),'vf'=>trim($array[2]));
   }
   fclose($file_handle);
   return $line_of_text;
 }

$csvFile = 'http://some.file.csv';

使用计数器跟踪已处理的许多行:

  function readCSV($csvFile){
   $file_handle = fopen($csvFile, 'r');
   $counter = 0;
   while (!feof($file_handle) ) {
    if($counter < 3){
         $array = fgetcsv($file_handle, 'r', ';');
         $line_of_text[] = array('dato'=>$array[0],'vs'=>trim($array[1]),'vf'=>trim($array[2]));
    }
    $counter++
   }
   fclose($file_handle);
   return $line_of_text;
 }
函数readCSV($csvFile){ $file_handle=fopen($csvFile,'r'); $counter=0; 而(!feof($file_handle)){ 如果($counter<3){ $array=fgetcsv($file_handle,'r',';'); $line_of_text[]=array('dato'=>$array[0],'vs'=>trim($array[1]),'vf'=>trim($array[2]); } 美元柜台++ } fclose($file\u handle); 返回\u文本的$line\u; }
保留一个计数器以计数循环内处理的行,仅当计数器大于3时才执行操作

例如:

function readCSV($csvFile){

  $counter = 0;

  $file_handle = fopen($csvFile, 'r');

  while (!feof($file_handle) ) {
    if($counter > 3){
      $array = fgetcsv($file_handle, 'r', ';');
      $line_of_text[] = array('dato'=>$array[0],'vs'=>trim($array[1]),'vf'=>trim($array[2]));
    }
    $counter++;
  }

  fclose($file_handle);
  return $line_of_text;
}

$csvFile = 'http://some.file.csv';

你可以在循环之前调用
fgets($file\u handle)
三次。保留一个计数器来计算循环中处理的行数,只在计数器大于3时才执行操作。对@coderodour你能解释一下你的代码哪一部分跳过了第一行吗?@AlexHowansky谢谢,这很好。我喜欢其他答案中提供的例子,但我没有做到这一点。循环前的简单3 x FGET工作正常。