Puppollo
3/23/2015 - 6:55 PM

read csv $element - function that parse one element and return parsed

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;
}