SplFileObject::setCsvControl

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

SplFileObject::setCsvControlDefinir o delimitador, o encapsulador e o caractere de escape para CSV

Descrição

public SplFileObject::setCsvControl(string $separator = ",", string $enclosure = "\"", string $escape = "\\"): void

Define o delimitador, o encapsulador e o caractere de escape para a análise dos campos CSV.

Parâmetros

separator

O delimitador de campo (apenas um caractere de byte único).

enclosure

O caractere de encapsulamento de campo (apenas um caractere de byte único).

escape

O caractere de escape de campo (no máximo, um caractere de byte único). Uma string vazia ("") desativa o mecanismo de escape proprietário.

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

Nenhum valor é retornado.

Registro de Alterações

Versão Descrição
7.4.0 O parâmetro escape agora também aceita uma string vazia para desativar o mecanismo de escape proprietário.

Exemplos

Example #1 Exemplo de SplFileObject::setCsvControl()

<?php
$file = new SplFileObject("data.csv");
$file->setFlags(SplFileObject::READ_CSV);
$file->setCsvControl('|');
foreach ($file as $row) {
    list ($fruit, $quantity) = $row;
    // Faça algo com os valores
}
?>

Conteúdo de data.csv

<?php
apples|20
bananas|14
cherries|87
?>

Veja Também