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

黄舟
Freigeben: 2023-03-07 06:26:01
Original
1811 Leute haben es durchsucht

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);
Nach dem Login kopieren

Die Ausgabe hat die Form:

Array{
     [name] => bob,

     [age] => 20,

     [sex] => man
}
Nach dem Login kopieren

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

Zum Beispiel:

print_r(true);           //输出1
print_r(false);          //没有输出
print_r(null);          //没有输出
Nach dem Login kopieren
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(&#39;name&#39; => &#39;bob&#39;, &#39;age&#39; => 20));
array(2) {
    [&#39;name&#39;] => string(3) &#39;bob&#39;
    [&#39;age&#39;] => int(20)
}
Nach dem Login kopieren

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(&#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;)
);
echo "<pre class="brush:php;toolbar:false">";
print_r($arr);echo "
";echo "
";
var_export($arr);echo "
";echo "
";
var_dump($arr);echo "
";
Nach dem Login kopieren
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
        )

)
Nach dem Login kopieren
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;,
  ),
)
Nach dem Login kopieren
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)
Nach dem Login kopieren

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 "
";
Nach dem Login kopieren
print_r($arra) Ausgabe

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

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

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

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!