(PHP 5 >= 5.3.0, PHP 7, PHP 8)
str_getcsv — Parst einen CSV-String in ein Array
$string
,$separator
= ",",$enclosure
= "\"",$escape
= "\\"Parst eine Zeichenketten-Eingabe für Felder im CSV-Format und gibt ein Array mit den gelesenen Feldern zurück.
Hinweis:
Diese Funktion berücksichtigt die Locale-Einstellungen. Ist
LC_CTYPE
beispielsweisede_DE.UTF-8
, werden Zeichenketten in Ein-Byte-Kodierungen von dieser Funktion möglicherweise falsch geparst.
string
Die zu parsende Zeichenkette.
separator
Bestimmt das Feldtrennzeichen (nur ein Ein-Byte-Zeichen).
enclosure
Bestimmt das Textmarkierungszeichen (nur ein Ein-Byte-Zeichen).
escape
Bestimmt das Maskierungszeichen (höchstens ein Ein-Byte-Zeichen).
Standardmäßig wird ein Backslash (\
) verwendet. Eine
leere Zeichenkette (""
) deaktiviert den proprietären
Maskierungsmechanismus.
Hinweis: Normalerweise wird ein
enclosure
-Zeichen innerhalb eines Feldes maskiert, indem es verdoppelt wird; allerdings kann dasescape
-Zeichen als Alternative verwendet werden. Also haben für die Standard-Parameterwerte""
und\"
dieselbe Bedeutung. Außer der möglichen Maskierung desenclosure
-Zeichens hat dasescape
-Zeichen keine besondere Bedeutung; es kann nicht einmal verwendet werden, um sich selbst zu maskieren.
Gibt ein indexiertes Array zurück, das die eingelesenen Felder enthält.
Version | Beschreibung |
---|---|
7.4.0 |
Der Parameter escape interpretiert nun eine leere
Zeichenkette als Signal, um den proprietären Maskierungsmechanismus zu
deaktivieren. Zuvor wurde eine leere Zeichenkette wie der Vorgabewert
behandelt.
|
Beispiel #1 str_getcsv()-Beispiel
<?php
$string = 'PHP,Java,Python,Kotlin,Swift';
$data = str_getcsv($string);
var_dump($data);
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
array(5) { [0]=> string(3) "PHP" [1]=> string(4) "Java" [2]=> string(6) "Python" [3]=> string(6) "Kotlin" [4]=> string(5) "Swift" }
Beispiel #2 str_getcsv()-Beispiel mit einer leeren Zeichenkette
Bei einer leeren Zeichenkette gibt diese Funktion den Wert
[null]
anstelle eines leeren Arrays zurück.
<?php
$string = '';
$data = str_getcsv($string);
var_dump($data);
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
array(1) { [0]=> NULL }