wake-up-neo.com

php var_dump () vs print_r ()

Was ist der Unterschied zwischen var_dump() und print_r() in Bezug auf das Ausspalten eines Arrays als String?

276
ina

Die var_dump-Funktion zeigt strukturierte Informationen zu Variablen/Ausdrücken an, darunter type und value. Arrays werden rekursiv untersucht, wobei die Werte eingerückt werden, um die Struktur anzuzeigen. Es zeigt auch, welche Array-Werte und Objekteigenschaften Referenzen sind.

Die print_r() zeigt Informationen zu einer Variablen auf eine Weise an, die von Menschen gelesen werden kann. Array-Werte werden in einem Format dargestellt, das keys und elements zeigt. Eine ähnliche Notation wird für Objekte verwendet.

Beispiel:

$obj = (object) array('qualitypoint', 'technologies', 'India');

var_dump($obj) wird unterhalb der Ausgabe auf dem Bildschirm angezeigt.

object(stdClass)#1 (3) {
 [0]=> string(12) "qualitypoint"
 [1]=> string(12) "technologies"
 [2]=> string(5) "India"
}

print_r($obj) wird unterhalb der Ausgabe auf dem Bildschirm angezeigt.

stdClass Object ( 
 [0] => qualitypoint
 [1] => technologies
 [2] => India
)

Mehr Info

327
Sarfraz

Im Allgemeinen ist die print_r( )-Ausgabe schöner, übersichtlicher und lesbarer, dh besser lesbar, kann jedoch keine Datentypen anzeigen. 

Mit print_r() können Sie die Ausgabe auch in einer Variablen speichern:

$output = print_r($array, true);

was var_dump() nicht kann. var_dump() kann jedoch Datentypen anzeigen.

49
gilzero

var_dump() zeigt Ihnen den Typ des Dings sowie dessen Inhalt.

Sie erhalten also => ​​(string)"var"Beispiel ist hier.

print_r() gibt nur den Inhalt aus.

Würde ausgeben => "var"Beispiel ist hier.

20
David Yell

Wenn Sie fragen, wann Sie was verwenden sollen, verwende ich im Allgemeinen print_r() zum Anzeigen von Werten und var_dump() für Probleme mit Variablentypen.

12
Danny Nimmo

var_dump zeigt strukturierte Informationen über das Objekt/die Variable an. Dies beinhaltet type und Werte. Wie print_r werden Arrays rekursiert und eingerückt.

print_r zeigt für Menschen lesbar Informationen zu den Werten mit einem Format an, das Schlüssel und Elemente für Arrays und Objekte darstellt.

Das Wichtigste, das Sie beachten sollten, ist, dass var_dump den Typ sowie Werte ausgibt, während print_r dies nicht tut.

7
Josh K

Wesentliche Unterschiede zwischen var_dump und print_r

beide Funktionen speichert Informationen über die Variable , aber var_dump mehrere Parameter, die ausgegeben werden, wobei print_r zwei Parameter entnehmen kann, von denen der erste Parameter die zu speichernde Variable und der zweite ein boolescher Wert ist.

var_dump kann keinen Wert zurückgeben, er kann nur die Werte ausgeben/drucken, wobei print_r die Variableninformationen zurückgeben kann, wenn der zweite Parameter von print_r auf true gesetzt wird. Der zurückgegebene Wert von print_r wird im Format string sein. 

Die von print_r gedruckten Informationen sind viel mehr lesbar, während var_dump Rohwerte ausgibt.

Die print_r-Funktion kann in vielen Kontexten verwendet werden, in denen var_dump hauptsächlich für Debugging-Zwecke verwendet werden kann, da sie keinen Wert zurückgeben kann.

5
Akshay Khale

Ich empfehle zusätzlich, die Ausgabe von var_dump () oder printr in ein pre - Tag zu setzen, wenn Sie sie in einen Browser ausgeben.

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

Gibt ein besser lesbares Ergebnis.

4
Christian Nagel

var_dump($var) zeigt ausführliche Details, indem zusätzliche Details von bereitgestellt werden 

  • datentyp des Wertes (einschließlich der Nachkommenelemente)
  • anzahl der Elemente in einer Variablen
  • länge des Wertes

var_dump (): -

  1. Diese Funktion zeigt strukturierte Informationen zu einem oder mehreren Ausdrücken an, einschließlich Typ und Wert. Arrays und Objekte werden rekursiv untersucht, wobei die zur Strukturierung eingerückten Werte eingerückt werden. 
  2. Diese Funktion zeigt die Elementnummer in einer Variablen an.
  3. Diese Funktion zeigt die Länge der Variablen an.
  4. Kann den Wert nicht zurückgeben, nur den Wert drucken.
  5. es wird zu Debugging-Zwecken verwendet.

Beispiel: -

<?php
$a = array(1, 2, array("a", "b", "c"));
var_dump($a);
?>

Ausgabe :-

   array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  array(3) {
    [0]=>
    string(1) "a"
    [1]=>
    string(1) "b"
    [2]=>
    string(1) "c"
  }
}

print_r (): -

  1. Gibt vom Benutzer lesbare Informationen zu einer Variablen aus.
  2. Die Elementnummer in einer Variablen wird nicht als var_dump () angezeigt.
  3. Länge der Variablen in einer Variablen nicht als var_dump () anzeigen.
  4. Gibt den Wert zurück, wenn der zweite Parameter in printf_r () auf true gesetzt wird.

Beispiel: -

<pre>
<?php
$a = array ('a' => 'Apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z'));
print_r ($a);
?>
</pre>

Ausgabe:-

<pre>
Array
(
    [a] => Apple
    [b] => banana
    [c] => Array
        (
            [0] => x
            [1] => y
            [2] => z
        )
)
</pre>
1
HeadAndTail

Bei großen Arrays kann print_r weit mehr Informationen anzeigen, als nützlich sind. Sie können es auf diese Weise abschneiden, indem Sie die ersten 2000 Zeichen oder die Anzahl der benötigten Zeichen anzeigen.

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

Wir können mehrere Parameter mit var_dumplike übergeben:

var_dump("array1",$array1,"array2",$array2);
0
Jasbir Rana

print_r () und var_dump () sind Array-Debugging-Funktionen, die in PHP zum Debuggen verwendet werden. Die Funktion print_r () gibt die Array-Schlüssel und ihre Mitglieder als Array ([key] = value) zurück, während die Funktion Var_dump () die Array-Liste mit ihren Array-Schlüsseln mit Datentyp und Länge sowie Array (array_length) {[0] = string zurückgibt (1) "a"}.

0