parse_str
(PHP 4, PHP 5, PHP 7, PHP 8)
parse_str — Überträgt einen String in Variablen
Beschreibung
$string
, array &$result
): void
Verarbeitet string
, als ob er der Query-String einer
URL-Übergabe via GET wäre, und erstellt Variablen im aktuellen
Geltungsbereich (oder im Array, wenn der Parameter
result
übergeben wurde).
Parameter-Liste
-
string
-
Die Eingabezeichenkette.
-
result
-
Ist der zweite Parameter
arr
angegeben, werden die Variablen in diesem Array als dessen Elemente gespeichert.WarnungDiese Funktion ohne den zweiten Parameter zu verwenden wird von PHP 7.2 an MISSBILLIGT und es wird dringend davon ABGERATEN.
Rückgabewerte
Es wird kein Wert zurückgegeben.
Changelog
Version | Beschreibung |
---|---|
8.0.0 |
result ist nicht mehr optional.
|
7.2.0 |
Die Verwendung von parse_str() ohne den zweiten
Parameter erzeugt nun einen E_DEPRECATED -Fehler.
|
Beispiele
Beispiel #1 Der Gebrauch von parse_str()
<?php
$str = "erstes=wert&arr[]=foo+bar&arr[]=baz";
// Empfohlen
parse_str($str, $output);
echo $output['erstes']; // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz
// NICHT EMPFOHLEN
parse_str($str);
echo $erstes; // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz
?>
Weil PHP-Variablen keine Punkte oder Leerzeichen im Namen enthalten dürfen,
werden diese in Unterstriche umgewandelt. Dasselbe gilt für die
entsprechenden Schlüsselnamen, für den Fall, dass diese Funktion mit dem
Parameter result
verwendet wird.
Beispiel #2 parse_str()-Namens-Manipulation
<?php
parse_str("Mein Wert=Etwas");
echo $Mein_Wert; // Etwas
parse_str("Mein Wert=Etwas", $output);
echo $output['Mein_Wert']; // Etwas
?>
Anmerkungen
Hinweis:
Alle erzeugten Variablen (oder Werte, die im Array zurückgegeben werden, wenn der zweite Parameter übergeben wurde) wurden bereits mit urldecode() vorbereitet.
Hinweis:
Um auf den aktuellen
QUERY_STRING
zuzugreifen, kann die Variable $_SERVER['QUERY_STRING'] verwendet werden. Weitere Informationen finden sich auch im Abschnitt Variablen aus externen Quellen.
Siehe auch
- parse_url() - Analysiert eine URL und gibt ihre Bestandteile zurück
- pathinfo() - Liefert Informationen über einen Dateipfad
- http_build_query() - Liefert einen URL-kodierten Query-String
- urldecode() - Dekodiert eine URL-kodierte Zeichenkette