PHP:如何根据指定的列获取csv的值?

时间:2015-08-27 15:31:32

标签: php parsing csv

例如,我想做类似

的事情

php sample.php [csv file] [列名]

它应该根据指定的列名显示所有数据。我的下面的代码只获得了第一列,但我希望它是一个基于列名

的变量

当前代码

function getCSV($csv){
    $file = fopen($csv, 'r');
    while (!feof($file) ) {
        $lines[] = fgetcsv($file, 1024);
    }
    fclose($file);
    return $lines;
}

$csv = getCSV($argv[1]);
foreach ($csv as $values) {
    $row1[] = $values[0];
}
print_r($row1);

示例CSV

ID,Name
1,Amy
2,Ana 
3,Ava

预期输出

php sample.php sample.csv ID
1
2
3

php sample.php sample.csv Name
Amy
Ana
Ava

我该怎么做?

1 个答案:

答案 0 :(得分:0)

感谢您的帮助,最终得到了它。

function getColumn($csv, $column){
    $header = array_shift($csv);
    $col = array_search($column, $header); 
    foreach ($csv as $row) {      
        $array[] = $row[$col]; 
    }
    return $array;
}