(PHP 5 >= 5.1.0, PHP 7)
SplFileObject::fgetcsv — Obtiene la línea del archivo y analiza como campos CSV
$delimiter = ","
   [, string $enclosure = "\""
   [, string $escape = "\\"
  ]]] ) : arrayObtiene una línea del archivo que está en formato CSV y devuelve un array que contiene los campos leídos.
Nota:
Esta función tiene en cuenta los ajustes de localización. Si LC_CTYPE es p.e. en_US.UTF-8, los archivos en codificaciones de un byte pueden ser leídos erróneamente por esta función.
delimiterEl delimitador de campo (un solo carácter). El valor por defecto es una coma o el valor establecido usando SplFileObject::setCsvControl().
enclosureEl carácter circundante de cada campo (sólo un carácter). Por omisión, son comillas dobles o el valor establecido por SplFileObject::setCsvControl().
escapeEl carácter de escape (a lo sumo un carácter). Por defecto es una barra invertida (\) o el valor establecido usando SplFileObject::setCsvControl(). Un string vacío ("") desactiva el mecanismo de escape propio.
Nota: Normalmente un carácter
enclosurese escapa dentro de un campo duplicándolo; sin embargo, el carácterescapepuede ser usado como una alternativa. Así que para los valores de parámetros por defecto "" y \" tienen el mismo significado. Aparte de permitir espacar el carácterenclosureel carácterescapeno tiene un significado especial; ni siquiera está destinado a escapar de sí mismo.
   Devuelve un array indexado que contiene los campos que se leen, o FALSE en caso de error.
  
Nota:
Una línea en blanco en un archivo CSV será devuelto como un array que comprende un único
NULLa menos que se utiliceSplFileObject::SKIP_EMPTY | SplFileObject::DROP_NEW_LINE, en cuyo caso se saltan las líneas vacías.
| Versión | Descripción | 
|---|---|
| 7.4.0 | El parámetro escapeahora también acepta un 
        string vacío para desactivar el mecanismo de escape propio. | 
Ejemplo #1 Ejemplo de SplFileObject::fgetcsv()
<?php
$file = new SplFileObject("data.csv");
while (!$file->eof()) {
    var_dump($file->fgetcsv());
}
?>
Ejemplo #2 Ejemplo de SplFileObject::READ_CSV
<?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);
}
?>
El contenido de animals.csv
crocodile,reptile,4 dolphin,mammal,0 duck,bird,2 koala,mammal,4 salmon,fish,0
El resultado del ejemplo sería algo similar a:
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 legs