Heim > Artikel > Backend-Entwicklung > Über den Unterschied zwischen var_export, print_r und var_dump beim Debuggen in PHP
Dieser Artikel stellt hauptsächlich die Unterschiede zwischen var_export, print_r und var_dump Debugging in PHP vor. Er ist sehr gut und hat einen gewissen Referenzwert.
1 Typ
Code
$n = "test"; var_export($n); print_r($n); var_dump($n); echo '-----------------' . '<br/><br/>'; file_put_contents("index.log", var_export($n, true) . PHP_EOL, FILE_APPEND); file_put_contents("index.log", print_r($n, true) . PHP_EOL, FILE_APPEND); file_put_contents("index.log", var_dump($n) . PHP_EOL, FILE_APPEND);
Ergebnis
(1) Frontend:
'test' test /Users/xjnotxj/Program/PhpstormProject/colin/index.php:9:string 'test' (length=4) ----------------- / Benutzer /xjnotxj/Program/PhpstormProject/colin/index.php:15:string 'test' (length=4)
(2) index.log:
'test' Test
2. Ausgabearray
Code
$arr = array( "a" => 1, "b" => "222", "c" => 3, ); var_export($arr); print_r($arr); var_dump($arr); echo '-----------------' . '<br/><br/>'; file_put_contents("index.log", var_export($arr, true) . PHP_EOL, FILE_APPEND); file_put_contents("index.log", print_r($arr, true) . PHP_EOL, FILE_APPEND); file_put_contents("index.log", var_dump($arr) . PHP_EOL, FILE_APPEND);
Ergebnis
( 1) Frontend:
array ( 'a' => 1, 'b' => '222', 'c' => 3, ) Array ( [a] = > 1 [b] => 222 [c] => 3) /Users/xjnotxj/Program/colin/index.php:13: array (size=3) 'a' => b' => string '222' (length=3) 'c' => index. php:19: array (size=3) 'a' => string '222' (length=3) 'c' => 🎜> (2) index.log:
array ( 'a' => 1, 'b' => '222', 'c' => 3, ) Array ( [a] => 1 [b] => 222 [c] => 3 )
3. Ausgabeobjekt
Code
class foo { public $n; public function do_foo() { echo "Doing foo." . $this->n; } } $object = new foo; var_export($object); print_r($object); var_dump($object); echo '-----------------' . '<br/><br/>'; file_put_contents("index.log", var_export($object, true) . PHP_EOL, FILE_APPEND); file_put_contents("index.log", print_r($object, true) . PHP_EOL, FILE_APPEND); file_put_contents("index.log", var_dump($object) . PHP_EOL, FILE_APPEND);Ergebnis (1) Frontend:
foo::__set_state(array( 'n' => NULL , ))
foo Object ( [n] => )/Users/xjnotxj/Program/PhpstormProject/colin/index.php:19: object(foo)[1] public 'n' => null -- -------------- /Users/xjnotxj/Program/PhpstormProject/colin/index.php:25: object(foo)[1] public 'n' => null
(2) index.log:
foo::__set_state(array( 'n' => NULL, )) foo Object ( [n] => )Zusammenfassung:
1. Detaillierte Ausgabeergebnisse: var_export ≈ print_r < var_dump
2. Beim Debuggen muss beim Aufrufen von var_export, print_r, var_dump kein Echo hinzugefügt werden. 3. Wenn der zweite Parameter von var_export und print_r wahr ist, wird der Wert zurückgegeben. var_dump unterstützt nicht. Verwenden Sie daher var_dump nicht, wenn Sie file_put_contents zum Ausgeben des Debuggens verwenden. 4. Es wird empfohlen, var_dump direkt zum Debuggen in der Entwicklungsumgebung zu verwenden, um var_export oder print_r zum Debuggen in der Produktionsumgebung zu verwenden true, um den Ausgabewert zurückzugeben, anstatt ihn direkt an die Front-End-Einflusslinie auszugeben. Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website. Verwandte Empfehlungen:Verwenden Sie PHP, um die chinesische Pinyin-Konvertierung sowie die Gregorianische und Mondkalender-Konvertierung zu implementieren
Über PHPs move_uploaded_file( ) Funktionsanalyse von
Das obige ist der detaillierte Inhalt vonÜber den Unterschied zwischen var_export, print_r und var_dump beim Debuggen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!