parse_str
(PHP 4, PHP 5, PHP 7)
parse_str — Überträgt einen String in Variable
Beschreibung
$encoded_string
[, array &$result
] ) : void
Verarbeitet encoded_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
-
encoded_string
-
Die Eingabezeichenkette.
-
result
-
Ist der zweite Parameter
arr
angegeben, werden die Variablen in diesem Array als dessen Elemente gespeichert.WarnungVon der Verwendung dieser Funktion ohne den zweiten Parameter wird unbedingt ABGERATEN, und von PHP 7.2 an MISSBILLIGT.
Das dynamische Zuweisen von Variablen im Geltungsbereich einer Funktion hat genaue dieselben Probleme wie register_globals.
Die Erklärung warum dies gefährlich ist, kann dem Sicherheits-Abschnitt zur Verwendung von Register Globals entnommen werden.
Changelog
Version | Beschreibung |
---|---|
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 dieser 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() name mangling
<?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.
Hinweis:
Die magic_quotes_gpc-Einstellung beeinflusst die Ausgabe dieser Funktion, da parse_str() dieselben Mechanismen verwendet, die PHP zum Füllen der Variablen $_GET, $_POST, etc. nutzt.
Siehe auch
- parse_url() - Analysiert eine URL und gibt ihre Bestandteile zurück
- pathinfo() - Liefert Informationen über einen Dateipfad
- http_build_query() - Erstellen eines URL-kodierten Query-Strings
- urldecode() - Dekodiert eine URL-kodierte Zeichenkette
Deutsche Übersetzung
Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.
Vielen Dank im Voraus.
Dokument erstellt 30/01/2003, zuletzt geändert 26/10/2018
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/php-rf-function.parse-str.html
Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.
Referenzen
Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor Diese Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.