PHP 8.4.1 Released!

SplFileObject::setCsvControl

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

SplFileObject::setCsvControlSet the delimiter, enclosure and escape character for CSV

Beschreibung

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

Sets the delimiter, enclosure and escape character for parsing CSV fields.

Parameter-Liste

separator

Der optionale Parameter separator setzt das Feld-Trennzeichen (nur ein Single-Byte-Zeichen).

enclosure

Der optionale Parameter enclosure setzt das Feld-Begrenzungszeichen (nur ein Single-Byte-Zeichen).

escape

Der optionale Parameter escape setzt das Maskierungs-Zeichen (höchstens ein Single-Byte-Zeichen). Eine 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 das escape-Zeichen verwendet werden. So haben die Werte "" und \" standardmäßig dieselbe Bedeutung. Abgesehen von der Möglichkeit, das enclosure-Zeichen zu maskieren, hat das Zeichen escape keine besondere Bedeutung; es ist nicht einmal dazu geeignet, sich selbst zu maskieren.

Warnung

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.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Changelog

Version Beschreibung
7.4.0 The escape parameter now also accepts an empty string to disable the proprietary escape mechanism.

Beispiele

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
?>

Siehe auch

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top