Maison > Article > développement back-end > À propos de la différence entre var_export, print_r et var_dump dans le débogage en PHP
Cet article présente principalement les différences entre le débogage var_export, print_r et var_dump en PHP. Il est très bon et a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer
1. tapez
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);
résultat
(1) frontal :
'test' test /Users/xjnotxj/Program/PhpstormProject/colin/index.php:9:string 'test' (longueur=4) ---------------- - /Users/xjnotxj/Program/PhpstormProject/colin/index.php:15:string 'test' (longueur=4)
(2) index.log :
' test'test
2, tableau de sortie
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);
résultat
(1) Front-end :
tableau ( 'a' => 1, 'b' => '222', 'c' => 3, ) Tableau ( [a ] => 1 [b] => 222 [c] => 3 ) /Users/xjnotxj/Program/PhpstormProject/colin/index.php:13 : tableau (taille=3) 'a' => ; int 1 'b' => chaîne '222' (longueur=3) 'c' => int 3 ----------------- /Users/xjnotxj/Program/PhpstormProject/ colin/index.php:19 : tableau (taille=3) 'a' => int 1 'b' => chaîne '222' (longueur=3) 'c' => >
(2) index.log :
array ( 'a' => 1, 'b' => '222', 'c' => 3, ) Array ( [a] => 1 [b] => 222 [c] => 3 )3. Objet de sortie
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);
Résultat
(1) Front-end :
foo::__set_state(array( ' n ' => NULL, ))foo Objet ( [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] => )
Résumé : 1. Résultats de sortie détaillés : var_export ≈ print_r < var_dump
2. Lors du débogage, lors de l'appel de var_export, print_r, var_dump, il n'est pas nécessaire de le précéder. .
3. Si le deuxième paramètre de var_export et print_r est vrai, la valeur est renvoyée. var_dump ne prend pas en charge , n'utilisez donc pas var_dump lorsque vous utilisez file_put_contents pour afficher le débogage.
4. Il est recommandé d'utiliser var_dump directement pour le débogage dans l'environnement de développement afin d'obtenir des informations de débogage détaillées et le positionnement de la ligne de code ; d'utiliser var_export ou print_r pour le débogage dans l'environnement de production. true pour renvoyer la valeur de sortie au lieu de la transmettre directement à la ligne d'influence frontale.
Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !
Recommandations associées :
Utilisez PHP pour implémenter la conversion du pinyin chinois et la conversion du calendrier grégorien et lunaireÀ propos du move_uploaded_file de PHP ( ) fonction Analyse deCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!