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

À propos de la différence entre var_export, print_r et var_dump dans le débogage en PHP

不言
不言original
2018-06-19 16:38:181597parcourir

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 &#39;-----------------&#39; . &#39;<br/><br/>&#39;;
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 &#39;-----------------&#39; . &#39;<br/><br/>&#39;;
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 ( &#39;a&#39; => 1, &#39;b&#39; => &#39;222&#39;, &#39;c&#39; => 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 &#39;-----------------&#39; . &#39;<br/><br/>&#39;;
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( &#39;n&#39; => 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 de


Ce 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn