Heim >Backend-Entwicklung >PHP-Tutorial >Wie konvertiere ich eine PHP „print_r()'-String-Ausgabe zurück in ein Array?

Wie konvertiere ich eine PHP „print_r()'-String-Ausgabe zurück in ein Array?

DDD
DDDOriginal
2024-12-02 19:16:16740Durchsuche

How to Convert a PHP `print_r()` String Output Back into an Array?

So konvertieren Sie eine String-Darstellung eines Arrays zurück in ein Array

Wenn Sie in PHP ein Array mit print_r() drucken, es wandelt es in eine visuell formatierte Zeichenfolge um. Dieses String-Format ist zwar zum Debuggen nützlich, lässt sich jedoch nicht direkt zurück in ein Array konvertieren. Mit einer benutzerdefinierten Parsing-Logik ist es jedoch möglich, das ursprüngliche Array wiederherzustellen.

Eine benutzerdefinierte Funktion, text_to_array(), wurde entwickelt, um diese Konvertierung zu bewältigen. Es funktioniert wie folgt:

Parsing der Zeichenfolge:

  • Die Funktion prüft zunächst, ob die angegebene Zeichenfolge mit „Array“ beginnt, was anzeigt, dass sie ein Array darstellt.
  • Der in Klammern eingeschlossene Array-Inhalt wird extrahiert.
  • Trennzeichen ([, ] und =>) werden durch Platzhalterzeichen (#!# und #?#) ersetzt, um das Parsen zu erleichtern.
  • Der geänderte Array-Inhalt wird dann am Trennzeichen #!# in einzelne Felder aufgeteilt.

Erstellen des neuen Arrays:

  • Für jedes Feld wird das Trennzeichen #?# verwendet um Schlüssel und Wert zu trennen.
  • Wenn der Schlüssel nicht leer ist, wird das Schlüssel-Wert-Paar zum neuen Array hinzugefügt.

Beispielverwendung:

Betrachten Sie das folgende Array:

$a = ['foo' => 'fooMe'];

Nachdem Sie es mit print_r() in einen String konvertiert haben, Sie erhalten:

Array ( [foo] => fooMe )

Die Übergabe dieser Zeichenfolge an die Funktion text_to_array() führt zum ursprünglichen Array:

$b = text_to_array('Array ( [foo] => fooMe )');
print_r($b);

Dies gibt Folgendes aus:

Array
(
    [foo] => fooMe
)

By Durch die Implementierung dieser benutzerdefinierten Parsing-Logik können Sie ein Array aus seiner gedruckten Zeichenfolgendarstellung neu erstellen und so die Array-Funktionalität auch nach dem Debuggen wiederherstellen.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich eine PHP „print_r()'-String-Ausgabe zurück in ein Array?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn