str_getcsv

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

str_getcsvParst einen CSV-String in ein Array

Beschreibung

str_getcsv(
    string$string,
    string$separator = ",",
    string$enclosure = "\"",
    string$escape = "\\"
): array

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 beispielsweise de_DE.UTF-8, werden Zeichenketten in Ein-Byte-Kodierungen von dieser Funktion möglicherweise falsch geparst.

Parameter-Liste

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 das escape-Zeichen als Alternative verwendet werden. Also haben für die Standard-Parameterwerte "" und \" dieselbe Bedeutung. Außer der möglichen Maskierung des enclosure-Zeichens hat das escape-Zeichen keine besondere Bedeutung; es kann nicht einmal verwendet werden, um sich selbst zu maskieren.

Rückgabewerte

Gibt ein indexiertes Array zurück, das die eingelesenen Felder enthält.

Changelog

VersionBeschreibung
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.

Beispiele

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

Achtung

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 }

Siehe auch

  • fgetcsv() - Liest eine Zeile von der Position des Dateizeigers und prüft diese auf kommaseparierte Werte (CSV)
To Top