str_getcsv

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

str_getcsv Analisa uma string CSV e retorna os dados em um array

Descrição

str_getcsv(
    string $string,
    string $separator = ",",
    string $enclosure = "\"",
    string $escape = "\\"
): array

Interpreta uma string de entrada procurando por campos no formato CSV e retorna um array contendo os campos encontrados.

Note:

As configurações de localidade são levadas em consideração por esta função. Se LC_CTYPE for, por exemplo, en_US.UTF-8, strings com codificação de um byte podem ser lidas incorretamente por esta função.

Parâmetros

string

A string a ser analisada.

separator

Define o delimitador de campos (somente um caractere de um byte).

enclosure

Define o caractere que envolve os campos (somente um caractere de um byte).

escape

Define o caractere de escape (no máximo um caractere de um byte). O valor padrão é a barra invertida. (\) Uma string vazia ("") desabilita o mecanismo proprietário de escape.

Note: Normalmente um caractere de enclosure é escapado dentro do campo por duplicação; entretanto, o caratere definido em escape pode ser utilizado como alternativa. Então, para os valores do parâmetro padrões "" e \" têm o mesmo significado. Além de permitir escapar o caractere de enclosure, o caractere de escape não possui significado especial; nem mesmo para escapar a si mesmo.

Warning

Quando o parâmetro escape for definido para algo diferente de uma string vazia (""), isso pode resultar em um CSV que não esteja conforme a » RFC 4180 ou que não seja capaz de sobreviver a uma viagem de ida e volta através das funções CSV do PHP. O padrão para escape é "\\", portanto é recomendado defini-lo explicitamente para a string vazia. O valor padrão será alterado em uma versão futura do PHP, mas não antes do PHP 9.0.

Valor Retornado

Retorna um array indexado contendo os campos lidos.

Registro de Alterações

Versão Descrição
7.4.0 O parâmetro escape agora interpreta uma string vazia como o sinal para desabilitar o mecanismo de escape. Antes, uma string vazia era tratada como valor padrão do parâmetro.

Exemplos

Example #1 Exemplo de str_getcsv()

<?php

$string = 'PHP,Java,Python,Kotlin,Swift';
$data = str_getcsv($string);

var_dump($data);
?>

O exemplo acima produzirá:

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

Example #2 Exemplo de str_getcsv()com uma string vazia

Caution

Com uma string vazia esta função retorna o valor [null] em vez de um array vazio.

<?php

$string = '';
$data = str_getcsv($string);

var_dump($data);
?>

O exemplo acima produzirá:

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

Veja Também

  • fgetcsv() - Lê uma linha do ponteiro de arquivos e a interpreta como campos CSV