serginhold / csv
此包已被废弃且不再维护。未建议替代包。
简单的CSV解析器(RFC 4180)
v1.0-rc4
2017-07-16 09:16 UTC
Requires
- php: >=5.5.0
- ext-mbstring: *
This package is auto-updated.
Last update: 2022-12-28 23:50:23 UTC
README
安装
composer require serginhold/csv
示例
CSV
Pot,Club,Country
1,"PFC CSKA Moskva",RUS
2,Bayer 04 Leverkusen,GER
3,"Tottenham
Hotspur FC",ENG
4,Monaco,FRA
代码
$csv = new \SerginhoLD\Csv\Parser(); $arCsv = []; foreach ($csv->parseFile(__DIR__ . '/sample.utf8.csv') as $row) { $arCsv[] = $row; } echo '<pre>' . print_r($arCsv, true) . '</pre>';
结果
Array
(
[0] => Array
(
[0] => Pot
[1] => Club
[2] => Country
)
[1] => Array
(
[0] => 1
[1] => PFC CSKA Moskva
[2] => RUS
)
[2] => Array
(
[0] => 2
[1] => Bayer 04 Leverkusen
[2] => GER
)
[3] => Array
(
[0] => 3
[1] => Tottenham
Hotspur FC
[2] => ENG
)
[4] => Array
(
[0] => 4
[1] => Monaco
[2] => FRA
)
)
方法
/** * @param string $file Path to csv file * @param \Closure|null $convert Function for converting each line of a file * @return \Generator */ public function parseFile($file, \Closure $convert = null) /** * @param string $csv * @return array */ public function parse($csv) /** * @param string $row * @return string[] */ public function parseRow($row) /** * @return string */ public function getDelimiter() /** * @param string $delimiter * @return $this */ public function setDelimiter($delimiter) /** * @return string */ public function getEnclosure() /** * @param string $enclosure * @return $this */ public function setEnclosure($enclosure)
要求
- PHP >= 5.5.0
- mbstring