bentools/csviterator

此包已被废弃且不再维护。没有推荐替代包。

轻松迭代CSV文件的一种方法

2.0.1 2015-07-21 12:10 UTC

This package is auto-updated.

Last update: 2021-12-02 15:09:55 UTC


README

轻松迭代CSV文件的一种方法。例如考虑"example.csv"文件

"FirstName";"LastName";"City"
"Bill";"Gates";"Seattle"
"Steve";"Jobs";"Palo Alto"

示例用法

$csv    =    new \BenTools\CSVIterator\CSVIterator('example.csv', ';');
foreach ($csv as $row)
    var_dump($row);

输出

array (size=3)
    0 => string 'FirstName' (length=9)
    1 => string 'LastName' (length=8)
    2 => string 'City' (length=4)
    
array (size=3)
    0 => string 'Bill' (length=4)
    1 => string 'Gates' (length=5)
    2 => string 'Seattle' (length=7)
    
array (size=3)
    0 => string 'Steve' (length=5)
    1 => string 'Jobs' (length=4)
    2 => string 'Palo Alto' (length=9)

CSVIteratorExtended

CSV Iterator的扩展,将第一行作为键。

$csv    =    new BenTools\CSVIterator\CSVIteratorExtended(new \BenTools\CSVIterator\CSVIterator('example.csv', ';'));
foreach ($csv as $row)
    var_dump($row);

输出

array (size=3)
    'FirstName' => string 'Bill' (length=4)
    'LastName' => string 'Gates' (length=5)
    'City' => string 'Seattle' (length=7)
    
array (size=3)
    'FirstName' => string 'Steve' (length=5)
    'LastName' => string 'Jobs' (length=4)
    'City' => string 'Palo Alto' (length=9)

你可以可选地传递一个可调用的作为第二个参数,以确保你有PHP友好的键

$csv    =    new BenTools\CSVIterator\CSVIteratorExtended(new \BenTools\CSVIterator\CSVIterator('example.csv', ';'), 'strtolower');
foreach ($csv as $row)
    var_dump($row);

输出

array (size=3)
    'firstname' => string 'Bill' (length=4)
    'lastname' => string 'Gates' (length=5)
    'city' => string 'Seattle' (length=7)

array (size=3)
    'firstname' => string 'Steve' (length=5)
    'lastname' => string 'Jobs' (length=4)
    'city' => string 'Palo Alto' (length=9)

安装

将以下行添加到您的composer.json文件中

{
    "require": {
        "bentools/csviterator": "dev-master"
    }
}  

享受吧。