Documentación offline PHP master

str_getcsv

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

str_getcsv

Analiza una string CSV en un array

Descripción#

str_getcsv(string $string, [string $separator], [string $enclosure], [string $escape]): array
```php

Analiza una cadena de caracteres que representa campos en formato CSV y devuelve un array que contiene todos los campos leídos.

## Parámetros

`string`  
La cadena a analizar.

> [!WARNING]
> Cuando `escape` se define con un valor diferente a una cadena vacía (`""`), puede resultar en un CSV que no sea compatible con [RFC 4180](https://datatracker.ietf.org/doc/html/rfc4180) o que no pueda sobrevivir a un ciclo de ida y vuelta a través de las funciones CSV de PHP. El valor predeterminado de `escape` es `"\\"`, por lo que se recomienda definirlo explícitamente como cadena vacía. El valor predeterminado cambiará en una futura versión de PHP, no antes de PHP 9.0.

## Valores devueltos

Devuelve un array que contiene los campos leídos.

## Historial de cambios

| Versión | Descripción |
|----|----|
| 8.4.0 | Ahora lanza una ValueError si `separator`, `enclosure`, o `escape` es inválido. Esto imita el comportamiento de `fgetcsv` y `fputcsv`. |
| 7.4.0 | El argumento `escape` interpreta ahora una cadena vacía como señal para desactivar el mecanismo de escape propio. Anteriormente, una cadena vacía era tratada como el valor por defecto del argumento. |

## Ejemplos

Ejemplo con `str_getcsv`
El ejemplo anterior mostrará:

    array(5) {
      [0]=>
      string(3) "PHP"
      [1]=>
      string(4) "Java"
      [2]=>
      string(6) "Python"
      [3]=>
      string(6) "Kotlin"
      [4]=>
      string(5) "Swift"
    }

Ejemplo de `str_getcsv` con una cadena vacía

> [!CAUTION]
> Con una cadena vacía, esta función devuelve `[null]` en lugar de un array vacío.

```php

El ejemplo anterior mostrará:

array(1) {
  [0]=>
  NULL
}

Véase también#

fputcsv, fgetcsv, SplFileObject::fgetcsv, SplFileObject::fputcsv, SplFileObject::setCsvControl, SplFileObject::getCsvControl