Was ist der beste Weg, um ein Array zu debuggen, so dass Sie sehen können, welche Werte gespeichert sind und in welchen Schlüsseln in dem Array, in dem sie gespeichert sind? Auch wie macht man es so, dass es einfacher ist, visuell zu sehen, so dass Sie nicht durch das Array nach dem Schlüssel und seinem Wert in der one line print_r()
Funktion suchen müssen?
BEARBEITEN:
Ich erkenne jetzt, dass print_r()
nicht die einzige Lösung zum Debuggen von Arrays ist. Also, wenn Sie alternative Lösungen haben, wäre es schön, mehr über das Debuggen zu lernen.
EDIT2:
Ayesh K , ITroubs und Robert Rozas haben beide Krumo und Kint so weit, wenn du andere frei hast, sie zu posten . Auch dank Raveren für das Schreiben von Kint!
Jeder schlägt print_r
vor, was im Kern ist und wirklich gut funktioniert.
Aber wenn es darum geht, ein großes Array zu betrachten, treibt print_r()
mich dazu, die Ausgabe einzuschränken.
Probieren Sie krumo aus. Es druckt das Array schön mit visueller Formatierung, Click-Expand und gibt Ihnen auch den genauen Array-Tastenaufruf, den Sie einfach kopieren und einfügen können.
%Vor%Itroubs erwähnte Kint als eine bessere Alternative zu Krumo. (Danke ITroubs!)
Ich persönlich mochte nie all diese ausgefallenen Sachen, ich benutze print_r()
, weil es nicht überwältigend ist und genug Informationen gibt.
Hier ist meins:
%Vor%Diese if-Anweisung soll sicherstellen, dass andere Personen nicht sehen, was Sie gedruckt haben. Es gibt ein gutes Add-on für Mozila-Firefox und Google Chrome namens "User Agent Switcher", wo Sie Ihre benutzerdefinierten Benutzeragenten erstellen können. Also erstelle ich einen User-Agent namens "Debug", und wenn ich arbeite, ändere ich den User-Agent.
Wenn ich den Standard-User-Agent verwende, passiert nichts und die Seite wird nicht die;
, nur Sie und Leute, die auch den User-Agent in "Debug" ändern, sehen die gedruckte Variable. Dies ist hilfreich, wenn Sie ein Problem in einer Produktionsumgebung debuggen möchten und nicht möchten, dass die Seite die;
ist. Es ist auch gut, wenn andere Personen ebenfalls an dem Projekt arbeiten und Sie diese nicht unterbrechen möchten durch das Töten der Seite.
Dann gebe ich die aktuelle Datei und Zeile zurück, das ist hilfreich, wenn Sie in einem Framework oder CMS oder einem anderen großen Projekt mit Tausenden von Dateien und Ordnern arbeiten und beim Debugging vergessen, wo Sie% eingegeben haben co_de% oder die;
und du musst dich erinnern, wo du warst und welche Variablen du gedruckt hast.
Ich benutze die NetBeans-IDE für PHP-Entwicklung, ich habe ein Makro eingerichtet, wenn Sie eine Variable auswählen und verwenden, wird es dieses Debugging-Tool in den Texteditor einfügen und die Auswahl innerhalb einer exit;
-Funktion. Wenn Sie auch NetBeans verwenden, können Sie dieses Makro verwenden:
Sie müssen nur print_r();
auswählen und das Makro verwenden.