read csv $element - function that parse one element and return parsed
<?php
/**
* @param $file
* @param string $delimiter
* @param callable $element
* @param null $filter
* @return array
*/
function read_csv($file, $delimiter = ',', callable $element, $filter = null)
{
$data = [];
$f = fopen($file, 'r');
while (false !== $d = fgetcsv($f, null, $delimiter)) {
if (((is_callable($filter) && $filter($d)) || !is_callable($filter)) && is_callable($element)) {
$data[] = $element($d);
}
}
fclose($f);
return $data;
}