Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Einführung in die Unterschiede zwischen echo print() print_r() var_dump() in PHP während des Debuggens

Detaillierte Einführung in die Unterschiede zwischen echo print() print_r() var_dump() in PHP während des Debuggens

黄舟
黄舟Original
2017-03-27 09:56:551814Durchsuche

echo

Gibt einen oder mehrere Werte (String) aus, getrennt durch Kommas. echo ist ein Sprachkonstrukt, keine echte Funktion und kann daher nicht als Teil eines Ausdrucks verwendet werden.

print()

Die Funktion print() gibt einen Wert (seinen Parameter) aus, wenn die Zeichenfolge erfolgreich ist. Gibt zurück true, wenn angezeigt, andernfalls false. Wie Echo, aber langsamer als Echo.

print_r()

Sie können Zeichenfolgen und Zahlen einfach ausdrucken. Wenn eine Zeichenfolge, eine Ganzzahl oder eine Gleitkommazahl angegeben ist, wird die gedruckt Variablenwert selbst. Das Objekt ähnelt einem Array. Arrays hingegen werden als in Klammern gesetzte Liste von Schlüsseln und Werten angezeigt, beginnend mit Array. Denken Sie daran, dass print_r() den Array-Zeiger an das Ende verschiebt. Verwenden Sie reset(), um den Zeiger an den Anfang zurückzusetzen.

$arr = array('name'=> 'bob','age' => 20, 'sex' => 'man');

print_r($arr);

Die Ausgabe hat die Form:

Array{
     [name] => bob,

     [age] => 20,

     [sex] => man
}

Aber ja, es macht keinen Sinn, print_r() zu verwenden, um boolesche Werte und NULL:

Zum Beispiel:

print_r(true);           //输出1
print_r(false);          //没有输出
print_r(null);          //没有输出
Die Ergebnisse der Ausgabe von booleschen Werten und NULL durch print_r() sind bedeutungslos, da sie alle „n“ ausgeben. Daher eignet sich die Verwendung der Funktion var_dump() besser zum Debuggen.

var_dump()

Bestimmen Sie den Typ und die Länge einer Variablen und geben Sie den Wert der Variablen aus, wenn die Variable einen Wert hat , die Ausgabe ist der Variablenwert und gibt den Datentyp

zurück. Diese Funktion zeigt Strukturinformationen zu einem oder mehreren Ausdrücken an, einschließlich Typ und Wert des Ausdrucks. Arrays erweitern Werte rekursiv und zeigen ihre Struktur durch Einrückung an.

var_dump(true); //输出 bool(true)
var_dump(false);   // bool(false)
var_dump(null);   // bool(null)
var_dump(array('name' => 'bob', 'age' => 20));
array(2) {
    ['name'] => string(3) 'bob'
    ['age'] => int(20)
}

var_export()

Ähnlich wie print_r und var_dump, aber selten verwendet.

Der Unterschied zwischen var_dump und print_r

var_dump gibt den Typ und Wert des Ausdrucks zurück, während print_r nur das Ergebnis im Vergleich zum Debugging-Code zurückgibt Die Verwendung von var_dump ist bequemer. Einfach zu lesen.

 

Die Unterschiede zwischen print_r(), var_export() und var_dump() sind wie folgt:

Ausgabe eines zweidimensionalen Arrays :

$arr=array(        
array('a'=>'aa','b'=>'bbb','c'=>'ccc'),        
array('a'=>'ddd','b'=>'eee','c'=>'fff'), 
        array('a'=>'gg','b'=>'hh')
);
echo "<pre class="brush:php;toolbar:false">";
print_r($arr);echo "
";echo "
";
var_export($arr);echo "
";echo "
";
var_dump($arr);echo "
";Die Ausgabe von print_r($arr)

Array(
    [0] => Array
        (
            [a] => aa
            [b] => bbb
            [c] => ccc
        )

    [1] => Array
        (
            [a] => ddd
            [b] => eee
            [c] => fff
        )

    [2] => Array
        (
            [a] => gg
            [b] => hh
        )

)
Die Ausgabe von var_export($arr)

array (  0 => 
  array (    &#39;a&#39; => &#39;aa&#39;,    &#39;b&#39; => &#39;bbb&#39;,    &#39;c&#39; => &#39;ccc&#39;,
  ),  1 => 
  array (    &#39;a&#39; => &#39;ddd&#39;,    &#39;b&#39; => &#39;eee&#39;,    &#39;c&#39; => &#39;fff&#39;,
  ),  2 => 
  array (    &#39;a&#39; => &#39;gg&#39;,    &#39;b&#39; => &#39;hh&#39;,
  ),
)
var_dump( $arr ) Ausgabeergebnis

array (size=3)  0 => 
    array (size=3)    &#39;a&#39; => string &#39;aa&#39; (length=2)     &#39;b&#39; => string &#39;bbb&#39; (length=3)     &#39;c&#39; => string &#39;ccc&#39; (length=3)  1 => 
    array (size=3)    &#39;a&#39; => string &#39;ddd&#39; (length=3)  &#39;b&#39; => string &#39;eee&#39; (length=3)   &#39;c&#39; => string &#39;fff&#39; (length=3)  2 => 
    array (size=2)    &#39;a&#39; => string &#39;gg&#39; (length=2)     &#39;b&#39; => string &#39;hh&#39; (length=2)

Eine Ausgabe im JSON-Format ist unten angegeben:

$arr=array(array(&#39;a&#39;=>&#39;aa&#39;,&#39;b&#39;=>&#39;bbb&#39;,&#39;c&#39;=>&#39;ccc&#39;),           
array(&#39;a&#39;=>&#39;ddd&#39;,&#39;b&#39;=>&#39;eee&#39;,&#39;c&#39;=>&#39;fff&#39;),           
array(&#39;a&#39;=>&#39;gg&#39;,&#39;b&#39;=>&#39;hh&#39;));
$arra=json_encode($arr);echo "<pre class="brush:php;toolbar:false">";
print_r($arra);echo "
";echo "
";
var_export($arra)echo "
";echo "
";
var_dump($arra);echo "
";print_r($arra) Ausgabe

[{"a":"aa","b":"bbb","c":"ccc"},{"a":"ddd","b":"eee","c":"fff"},{"a":"gg","b":"hh"}]
var_export($arra) Ausgabe

'[{"a":"aa","b":"bbb","c":"ccc"},{"a":"ddd","b":"eee","c":"fff"},{"a":"gg","b":"hh"}]'
var_dump($arra) Ausgabe

string '[{"a":"aa","b":"bbb","c":"ccc"},{"a":"ddd","b":"eee","c":"fff"},{"a":"gg","b":"hh"}]' (length=84)

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die Unterschiede zwischen echo print() print_r() var_dump() in PHP während des Debuggens. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn