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
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 emescape
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 deenclosure
, o caractere deescape
não possui significado especial; nem mesmo para escapar a si mesmo.
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
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 }