PHP: Ausgabe von var_dump() in String schreiben
Frage von Gast | Letztes Update am 01.07.2021 | Erstellt am 01.03.2014
Um den Inhalt einer Variable in PHP anzeigen zu lassen, kann man ja var_dump() benutzen. Also zum Beispiel einfach "var_dump($arr);" schreiben, um den Inhalt vom Array $arr anzeigen zu lassen.
Leider wird das Ergebnis von var_dump() immer sofort ausgegeben und man kann das Resultat nicht einfach als String speichern um es später ausgeben zu können.
Aber genau dafür suche ich aktuell eine Funktion. Gibt es also irgendeine Möglichkeit, so etwas wie var_dump() auszuführen und das Ergebnis dann in einer Variable (in einem String) zu speichern?
Ähnliche Themen
PHP: Strings mit Ctype-Funktionen auf Zeichenklassen überprüfen
Artikel | 0 Kommentare
PHP: Ausgabe eines Scripts per Mail versenden
Tutorial | 0 Kommentare
PHP: Inhalt eines Arrays schnell anzeigen lassen
Tipp | 0 Kommentare
PHP: Ausgabe eines Scripts in Variable schreiben
Tutorial | 0 Kommentare
PHP: Nur bestimmte Buchstaben, Zahlen und Zeichen in einem String zulassen
Tipp | 10 Kommentare
PHP: Kalenderwoche ermitteln
Tutorial | 2 Kommentare
PHP: Aktuelles Datum und Zeit ermitteln
Tutorial | 0 Kommentare
Wichtiger Hinweis
Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.
Jetzt mitmachen
Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.
Wenn du die Funktion print_r() benutzt, und als zweiten Parameter "true" übergibst, wird die Ausgabe von print_r() nicht ausgegeben sondern als String zurückgegeben:
Die Informationen von print_r() sind zwar nicht so ausführlich wie die von var_dump(), aber vielleicht hilft dir das schon weiter.
01.03.2014 um 19:21
Wenn du genau die Ausgabe von var_dump() haben willst, kannst du Output-Buffering verwenden:
Mit ob_start() startest du das Output-Buffering. Damit erfolgt keine Ausgabe mehr im Browser unterdessen wird alles zwischengespeichert. Die Ausgabe jedes Befehls, den du danach ausführst, landet in dem Buffer. So im Beispiel auch die Ausgabe von var_dump(). Anschließend kannst du den gespeicherten Buffer mit ob_get_clean() auslesen und in einer Variable speichern.
Theoretisch kann man das alles noch in eine Funktion auslagern:
Dann ist es ausreichend, diese Funktion mit der Variable aufzurufen.
01.03.2014 um 21:28
Alternativ schlage ich noch die Funktion var_export vor. Diese arbeitet so ähnlich wie print_r und gibt validen PHP Code zurück, der die übergebene Variable beschreibt.
Ähnlich wie bei print_r kann man als zweiten Parameter "true" übergeben und erhält dadurch eine Rückgabe des Ergebnisses als String.
03.03.2014 um 17:05
Unerwähnt bleiben sollte sicherlich auch nicht der klassische Weg, den Inhalt des Arrays per Hand auszugeben:
Zugegebenerweise sind natürlich alle anderen bisher vorgeschlagenen Lösungen einfacher.
04.03.2014 um 20:18