PHP läuft auf dem Server – du siehst keine Browserkonsole wie bei JavaScript. Wenn eine Variable nicht den erwarteten Wert hat oder ein Array anders aufgebaut ist als gedacht, tappst du schnell im Dunkeln. Mit print_r() und var_dump() kannst du dir den Inhalt jeder Variable direkt auf der Seite ausgeben lassen – schnell eingebaut, schnell wieder entfernt.
Abschnitte: print_r – lesbare Ausgabe, var_dump – mit Typen und Längen, Auskommentieren statt löschen, Danach aufräumen.
print_r – lesbare Ausgabe
print_r() gibt den Inhalt einer Variable übersichtlich aus – besonders bei Arrays sehr praktisch. Du baust es direkt ins HTML ein:
<?php print_r($nugget); ?>
Die Ausgabe erscheint direkt auf der Seite, genau an der Stelle wo du den Code eingebaut hast. Für ein Array sieht das so aus:
Array
(
[titel] => gap vs. margin
[kategorie] => css
[tags] => Array
(
[0] => gap
[1] => margin
[2] => flexbox
)
)
Du siehst alle Schlüssel und ihre Werte – verschachtelte Arrays werden eingerückt dargestellt. Für den schnellen Überblick reicht print_r() meistens vollkommen aus.
var_dump – mit Typen und Längen
var_dump() zeigt zusätzlich den Datentyp und die Länge jedes Wertes. Das ist nützlich wenn du wissen willst ob eine Variable wirklich eine Zahl ist, ein Text, oder vielleicht doch null:
<?php var_dump($nugget); ?>
Die Ausgabe ist ausführlicher als bei print_r():
array(4) {
["titel"]=>
string(13) "gap vs. margin"
["kategorie"]=>
string(3) "css"
["tags"]=>
array(3) {
[0]=>
string(3) "gap"
[1]=>
string(6) "margin"
[2]=>
string(7) "flexbox"
}
}
string(13) bedeutet: es ist ein Text mit 13 Zeichen. array(3) bedeutet: ein Array mit 3 Einträgen. So erkennst du sofort ob der Typ stimmt – oder ob zum Beispiel eine Zahl versehentlich als Text gespeichert wurde.
Auskommentieren statt löschen
Wenn du mehrere Debug-Ausgaben ausprobierst, musst du nicht jedes Mal löschen und neu eintippen. In PHP kannst du eine Zeile mit # oder // auskommentieren – sie wird dann komplett ignoriert:
<?php # print_r($nugget); ?>
<?php var_dump($nugget); ?>
Hier wird nur var_dump() ausgeführt – print_r() ist auskommentiert. Um zu wechseln, verschiebst du das # einfach in die andere Zeile. Kein Löschen, kein neu eintippen.
Danach aufräumen
Debug-Ausgaben gehören nicht auf die fertige Seite – jeder Besucher würde sonst die rohen Array-Inhalte sehen. Bevor du eine Seite veröffentlichst, entfernst du alle print_r() und var_dump() wieder.
Ein einfacher Weg: Such in Notepad++ nach print_r und var_dump – über Suchen → In allen geöffneten Dokumenten suchen findest du alle Stellen auf einen Blick.