SplFileObject::fgetcsv
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
Gets line from file and parse as CSV fields
Description
Gets a line from the file which is in CSV format and returns an array containing the fields read.
Parameters
separatorThe field delimiter (one single-byte character only). By default
,or the value set by a prior call toSplFileObject::setCsvControl.enclosureThe field enclosure character (one single-byte character only). By default
"or the value set by a prior call toSplFileObject::setCsvControl.escapeThe escape character (at most one single-byte character). By default
\or the value set by a prior call toSplFileObject::setCsvControl. An empty string ("") disables the proprietary escape mechanism.WarningAs of PHP 8.4.0, depending on the default value of
escapeis deprecated. It needs to be provided explicitly either positionally or by the use of Named Arguments, or by a call toSplFileObject::setCsvControl.
Escape-parameter
Return Values
Returns an indexed array containing the fields read, or false on error.
A blank line in a CSV file will be returned as an array comprising a single null field unless using SplFileObject::SKIP_EMPTY | SplFileObject::DROP_NEW_LINE, in which case empty lines are skipped.
Changelog
| Version | Description |
|---|---|
| 7.4.0 | The escape parameter now also accepts an empty string to disable the proprietary escape mechanism. |
Examples
SplFileObject::fgetcsv example
<?php
$file = new SplFileObject("data.csv");
while (!$file->eof()) {
var_dump($file->fgetcsv());
}
?>SplFileObject::READ_CSV example
<?php
$file = new SplFileObject("animals.csv");
$file->setFlags(SplFileObject::READ_CSV);
foreach ($file as $row) {
list($animal, $class, $legs) = $row;
printf("A %s is a %s with %d legs\n", $animal, $class, $legs);
}
?>Contents of animals.csv
crocodile,reptile,4
dolphin,mammal,0
duck,bird,2
koala,mammal,4
salmon,fish,0The above example will output something similar to:
A crocodile is a reptile with 4 legs
A dolphin is a mammal with 0 legs
A duck is a bird with 2 legs
A koala is a mammal with 4 legs
A salmon is a fish with 0 legsSee Also
SplFileObject::fputcsvSplFileObject::setCsvControlSplFileObject::getCsvControlSplFileObject::setFlagsSplFileObject::READ_CSVSplFileObject::currentfputcsv()fgetcsv()str_getcsv()