Die beste Möglichkeit, ein Array mit PHP zu debuggen

7

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!

    
Elias 11.04.2013, 18:02
quelle

10 Antworten

4

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!)

    
Ayesh K 11.04.2013, 18:09
quelle
9

Jeder PHP-Entwickler sollte dafür eine Funktion haben. Meine Funktion ist unten:

%Vor%

Um Daten gut auszudrucken, rufen Sie einfach r($data); auf. Wenn Sie mehr Details wünschen, können Sie diese Funktion verwenden:

%Vor%     
G-Nugget 11.04.2013 18:06
quelle
4

hier ist meins ...

demo: Ссылка
Repo: Ссылка Komponist: Ссылка

Sie können es bei Bedarf über CSS neu formatieren.

    
leeoniya 21.04.2013 07:08
quelle
3

Ich benutze var_dump .... jetzt, wenn Sie mehr wollen, besuchen Sie diese Seite:

Ссылка

und

Ссылка

    
Hackerman 11.04.2013 18:06
quelle
1

Die beste Vorgehensweise, um die Werte / Schlüssel in einem Array visuell zu sehen, ist die folgende:

echo "<pre>".print_r($array,TRUE)."</pre>";

Das Wahr ist erforderlich, da es in eine Zeichenkette umgewandelt wird. Die Ausgabe lautet:

%Vor%     
Elias 11.04.2013 18:06
quelle
0

Schnelle Lösung: Öffnen Sie den Quellcode der Seite und Sie sehen print_r 's Ausgabe in mehreren Zeilen und perfekt eingerückt.

    
Think 11.04.2013 18:03
quelle
0

print_r ist nicht liniert (es verwendet \n als neue Zeile, nicht <br> ). Fügen Sie einen <pre>...</pre> hinzu, um die mehreren Zeilen anzuzeigen.

    
bwoebi 11.04.2013 18:04
quelle
0

print_r() verwendet \n als Zeilenbegrenzer. Verwenden Sie <pre> -Tags oder zeigen Sie den Quellcode der Seite an, damit er richtig aussieht. (Unter Windows arbeitet Linux mit \n )

    
Pietu1998 11.04.2013 18:05
quelle
0

Sie können entweder Quellcode suchen oder var_dump() oder print_r() mit <pre>...</pre>

verwenden     
Fabio 11.04.2013 18:05
quelle
0

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:

%Vor%

Sie müssen nur print_r(); auswählen und das Makro verwenden.

    
shotex 21.05.2016 21:52
quelle

Tags und Links