341 Stimmen

php var_dump() vs print_r()

Was ist der Unterschied zwischen var_dump() y print_r() in Bezug auf die Ausgabe eines Arrays als String?

7voto

thomas Punkte 577

Das ist zu einfach. Die var_dump() zeigt strukturierte Informationen über Variablen/Ausdrücke einschließlich ihres Typs und Werts an. Die Funktion print_r() zeigt Informationen über eine Variable in einer für den Menschen lesbaren Form an.

Angenommen, wir haben das folgende Array und wollen dessen Inhalt anzeigen.

$arr = array ('xyz', false, true, 99, array('50'));

print_r() Funktion - Zeigt eine menschenlesbare Ausgabe an

Array
(
    [0] => xyz
    [1] =>
    [2] => 1
    [3] => 99
    [4] => Array
        (
            [0] => 50
        )
)

Funktion var_dump() - Zeigt Werte und Typen an

array(5) {
  [0]=>
  string(3) "xyz"
  [1]=>
  bool(false)
  [2]=>
  bool(true)
  [3]=>
  int(100)
  [4]=>
  array(1) {
    [0]=>
    string(2) "50"
  }
}

Für weitere Informationen: https://stackhowto.com/how-to-display-php-variable-values-with-echo-print_r-and-var_dump/

6voto

Akshay Khale Punkte 7669

Signifikante Unterschiede zwischen var_dump y print_r

sowohl die Funktionen gibt die Informationen über die Variable aber var_dump mehrere Parameter, die gedumpt werden sollen, während print_r kann zwei Parameter annehmen, von denen der erste Parameter die Variable ist, die Sie ausgeben möchten, und der zweite ein boolescher Wert ist.

var_dump kann keinen Wert zurückgeben, sondern nur die Werte ausgeben/drucken, während print_r die Variableninformationen zurückgeben kann, wenn wir den zweiten Parameter von print_r a true . Der zurückgegebene Wert von print_r wird in String Format.

Die Informationen, die von print_r ist viel besser lesbar, als wenn var_dump druckt Rohwerte.

print_r Funktion kann in vielen Kontexten verwendet werden, wo als var_dump kann hauptsächlich zu Debugging-Zwecken verwendet werden, da es keinen Wert zurückgeben kann.

3voto

Christian Nagel Punkte 121

Ich würde zusätzlich empfehlen, die Ausgabe von var_dump() oder printr in ein vor Tag bei der Ausgabe in einem Browser.

print "<pre>";
print_r($dataset);
print "</pre>";

Das Ergebnis wird besser lesbar sein.

2voto

var_dump($var) zeigt vertiefte Details, indem er zusätzliche Angaben zu folgenden Punkten macht

  • Datentyp des Wertes (einschließlich der absteigenden Elemente)
  • Anzahl der Elemente in einer Variablen
  • Länge des Wertes

1voto

Neil Bauers Punkte 41

Bei großen Arrays kann print_r weit mehr Informationen anzeigen, als sinnvoll sind. Sie können es so abschneiden, dass die ersten 2000 Zeichen oder so viele, wie Sie benötigen, angezeigt werden.

  echo "<pre>" . substr(print_r($dataset, 1), 0, 2000) . "</pre>";

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X