2010-09-23 62 views
0

我有這個功能PHP的CSV問題

function csv_to_array($filename='', $delimiter=',') 
{ 
    if(!file_exists($filename) || !is_readable($filename)) 
    { 
    echo "Not a valid file name"; 
     return FALSE; 

    } 
    $header = NULL; 
    $data = array(); 



    $fname = file($filename); 
    $a1 = array('username','fullname','email','dept'); 

    if (($handle = fopen($filename, 'r')) !== FALSE) 
    {  
     while (($row = fgetcsv($handle, 1000, $delimiter)) !== FALSE) 
     {  
      if(!$header) 
      { 
       $header = $row; 

       // print_r(array_diff_key($header,$array)) ; 
       } 
      else { 
       $data[] = array_combine($header, $row); 
       } 
     }  
     fclose($handle); 
    } 

    return $data; 

} 

它返回關聯數組。 我的CSV文件中包含的頭 用戶名全名電子郵件部門 但我需要的頭不被mentione囂csv文件我如何去了解它

+0

所以你只需要刪除標題部分? – 2010-09-23 16:27:13

回答

1

如何:

$seen_header = false; // initialize to false. 
$data = array(); 

// keep reading from the file till you have lines. 
while (($row = fgetcsv($handle, 1000, $delimiter)) !== FALSE) { 

     // $seen_header will be false for the fist time. 
     if(!$seen_header) { 
       // don't add header to $data and make $seen_header true. 
       $seen_header = true; 
     }else{ 
       // non header..add it. 
       $data[] = $row; 
     }  
}