(PHP 5 >= 5.4.0, PHP 7, PHP 8)
SplFileObject::fputcsv — Escreve um array de campos como uma linha CSV
$fields,$separator = ",",$enclosure = "\"",$escape = "\\",$eol = "\n"
   Escreve o array de fields no arquivo
   como uma linha CSV.
  
fieldsUm array de valores.
separator
       O delimitador de campo (apenas um caractere de um byte).
       Padrão é uma vírgula (,) ou o valor definido por uma chamada anterior a
       SplFileObject::setCsvControl().
      
enclosure
       O caractere de delimitador de campo (apenas um caractere de um byte).
       Padrão é uma aspa dupla (") ou o valor definido por uma chamada anterior a
       SplFileObject::setCsvControl().
      
escape
       O caractere de escape (no máximo um caractere de um byte).
       Padrão é uma barra invertida (\) ou o valor definido por uma chamada anterior a
       SplFileObject::setCsvControl().
       Uma string vazia ("") desativa o mecanismo de escape proprietário.
      
Nota: Geralmente, um caractere de
enclosureé escapado dentro de um campo duplicando-o; no entanto, o caractere deescapepode ser usado como alternativa. Assim, para os valores padrão dos parâmetros""e\"têm o mesmo significado. Além de permitir escapar o caractere deenclosure, o caractere deescapenão tem significado especial; nem mesmo é destinado a escapar a si mesmo.
        A partir do PHP 8.4.0, depender do valor padrão de
        escape foi descontinuado.
        Ele precisa ser fornecido explicitamente tanto por posição quanto pelo uso
        de argumentos nomeados,
        ou por uma chamada a SplFileObject::setCsvControl().
       
eol
      O parâmetro opcional eol define uma
      sequência de fim de linha personalizada.
     
 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.
Nota:
Se um caractere de
enclosureestiver contido em um campo, ele será escapado duplicando-o, a menos que seja imediatamente precedido por umescape.
   Retorna o comprimento da string escrita ou false em caso de falha.
  
   Lança uma ValueError se
   separator ou enclosure
   não tiver comprimento de um byte.
  
   Lança uma ValueError se
   escape não tiver comprimento de um byte ou se for uma string vazia.
  
| Versão | Descrição | 
|---|---|
| 8.4.0 | Depender do valor padrão de escapeagora está
        descontinuado. | 
| 8.1.0 | O parâmetro opcional eolfoi adicionado. | 
| 7.4.0 | O parâmetro escapeagora também aceita uma string vazia
        para desativar o mecanismo de escape proprietário. | 
Exemplo #1 Exemplo de SplFileObject::fputcsv()
<?php
$list = array (
    array('aaa', 'bbb', 'ccc', 'dddd'),
    array('123', '456', '789'),
    array('"aaa"', '"bbb"')
);
$file = new SplFileObject('file.csv', 'w');
foreach ($list as $fields) {
    $file->fputcsv($fields);
}
?>O exemplo acima escreverá o seguinte em file.csv:
aaa,bbb,ccc,dddd 123,456,789 """aaa""","""bbb"""
