(PHP 5 >= 5.2.0, PHP 7, PHP 8)
SplFileObject::setCsvControl — Set the delimiter, enclosure and escape character for CSV
$separator = ",", string $enclosure = "\"", string $escape = "\\"): voidSets the delimiter, enclosure and escape character for parsing CSV fields.
separator
       Der Parameter separator setzt das
       Feld-Trennzeichen.
       Es muss ein Single-Byte-Zeichen sein.
      
enclosure
       Der Parameter enclosure setzt das
       Feld-Begrenzungszeichen.
       Es muss ein Single-Byte-Zeichen sein.
      
escape
       Der Parameter escape setzt das Maskierungs-Zeichen.
       Es muss ein Single-Byte-Zeichen oder die leere Zeichenkette sein.
       Die leere Zeichenkette ("") deaktiviert den
       proprietären Maskierungsmechanismus.
      
Hinweis: Normalerweise wird ein
enclosure-Zeichen in einem Feld maskiert, indem es verdoppelt wird; allerdings kann alternativ dazu dasescape-Zeichen verwendet werden. So haben die Werte""und\"standardmäßig dieselbe Bedeutung. Abgesehen von der Möglichkeit, dasenclosure-Zeichen zu maskieren, hat das Zeichenescapekeine besondere Bedeutung; es ist nicht einmal dazu geeignet, sich selbst zu maskieren.
        Seit PHP 8.4.0 ist es veraltet, sich auf den Standardwert von
        escape zu verlassen.
        Er muss explizit angegeben werden, entweder an der richtigen Stelle
        oder durch die Verwendung von
        benannten Argumenten.
       
 Wenn escape auf etwas anderes als eine leere Zeichenkette
 ("") gesetzt wird, kann dies zu einer CSV-Datei führen, die
 nicht mit » RFC 4180 konform ist oder die
 den Umlauf durch die PHP-CSV-Funktionen nicht übersteht. Der Standardwert für
 escape ist "\\", weshalb empfohlen
 wird, diesen Parameter explizit auf eine leere Zeichenkette zu setzen.
 Der Standardwert wird sich in einer zukünftigen Version von PHP ändern, jedoch
 nicht vor PHP 9.0.
Es wird kein Wert zurückgegeben.
   Wenn separator oder enclosure
   nicht ein Byte lang ist, wird ein ValueError
   geworfen.
  
   Wenn escape nicht ein Byte lang oder eine leere
   Zeichenkette ist, wird ein ValueError
   geworfen.
  
| Version | Beschreibung | 
|---|---|
| 8.4.0 | Sich auf den Standardwert von escapezu
        verlassen, ist nun veraltet. | 
| 7.4.0 | The escapeparameter now also accepts an empty
        string to disable the proprietary escape mechanism. | 
Beispiel #1 SplFileObject::setCsvControl() example
<?php
$file = new SplFileObject("data.csv");
$file->setFlags(SplFileObject::READ_CSV);
$file->setCsvControl('|');
foreach ($file as $row) {
    list ($fruit, $quantity) = $row;
    // Do something with values
}
?>Contents of data.csv
<?php apples|20 bananas|14 cherries|87 ?>
