SplFileObject::fgetcsv
(PHP 5 >= 5.1.0)
SplFileObject::fgetcsv — Obtiene una línea de un fichero y la analiza como campos CSV
Descripción
$delimiter = ","
[, string $enclosure = "\""
[, string $escape = "\\"
]]] )Obtiene una línea del fichero la cual está en formato CSV y devuelve un array que contiene los campos leídos.
Parámetros
-
delimiter -
El delimitador de campos (sólo un carácter). Por omisión, es una coma o el valor establecido por SplFileObject::setCsvControl().
-
enclosure -
El carácter circundante de cada campo (sólo un carácter). Por omisión, son comillas dobles o el valor establecido por SplFileObject::setCsvControl().
-
escape -
El carácter de escape (sólo un carácter). Por omisión, es una barra invertida (\) o el valor establecido por SplFileObject::setCsvControl().
Valores devueltos
Devuelve un array indexado que contiene los campos leídos, o FALSE en caso de error.
Nota:
Una línea en blanco en un fichero CSV será devuelta como un array constituido por un campo
NULLa menos que se establezcaSplFileObject::SKIP_EMPTY | SplFileObject::DROP_NEW_LINE, en cuyo caso se omiten las líneas vacías.
Ejemplos
Ejemplo #1 Ejemplo de SplFileObject::fgetcsv()
<?php
$fichero = new SplFileObject("datos.csv");
while (!$fichero->eof()) {
var_dump($fichero->fgetcsv());
}
?>
Ejemplo #2 Ejemplo de SplFileObject::READ_CSV
<?php
$fichero = new SplFileObject("animales.csv");
$fichero->setFlags(SplFileObject::READ_CSV);
foreach ($fichero as $fila) {
list($animal, $clase, $patas) = $fila;
printf("Un %s es un %s con %d patas\n", $animal, $clase, $patas);
}
?>
Contenido de animales.csv
cocodrilo,reptil,4 delfín,mamífero,0 pato,ave,2 koala,mamífero,4 salmón,pez,0
El resultado del ejemplo sería algo similar a:
Un cocodrilo es un reptil con 4 patas Un delfín es un mamífero con 0 patas Un pato es un ave con 2 patas un koala es un mamífero con 4 patas Un salmón es un pez con 0 patas
Ver también
- SplFileObject::setCsvControl() - Establece el carácter delimitador y el circundante para campos CSV
- SplFileObject::setFlags() - Establece flags para el SplFileObject
- SplFileObject::READ_CSV
- SplFileObject::current() - Recupera la línea actual del fichero