Sometimes we just need to read in a csv file in php. I’ve tried using thephpleague’s csv package but it is over engineered in my opinion to do something so basic. Really, I want something similar to how file_get_contents
gives me the entire content of the file but for the csv (in array format).
Here is a snippet I made that reads in a csv and returns an array of results.
function csv_to_array($path, $hasHeader = true) {
$results = [];
$handle = fopen($path, 'r');
if ($hasHeader) {
$header = fgetcsv($handle, 1000, ",");
}
while (($data = fgetcsv($handle, 1000, ",")) !== false) {
if ($hasHeader) {
$results[] = (object) array_combine($header, $data);
} else {
$results[] = $data;
}
}
fclose($handle);
return $results;
}