Maison > Article > développement back-end > Analyse de la différence entre var_export et var_dump en php
Cet article partage principalement avec vous l'analyse de la différence entre var_export et var_dump en php. J'espère qu'il pourra vous aider.
var_dump (PHP 3 >= 3.0.5, PHP 4, PHP 5)
var_dump -- imprimer les informations relatives à la variable
description
void var_dump ( mixed expression [, mixed expression [, ...]] )
Cette fonction affiche des informations structurelles sur une ou plusieurs expressions, y compris le type et la valeur de l'expression. Les tableaux développeront les valeurs de manière récursive, montrant leur structure par indentation.
Le code est le suivant :
$data = array ('name' => 'abc', 'job' => 'programmer','a'=>array('aa','cc','bb')); $data = var_dump($data,TRUE); echo $data;
Le formulaire de sortie est le suivant :
array(3) { ["name"]=> string(3) "abc" ["job"]=> string(10) "programmer" ["a"]=> array(3) { [0]=> string(2) "aa" [1]=> string(2) "cc" [2]=> string(2) "bb" } } bool(true)
deux var_export
(PHP 4 >= 4.2.0, PHP 5) var_export -- 输出或返回一个变量的字符串表示 描述 mixed var_export ( mixed expression [, bool return] )
Cette fonction renvoie des informations structurelles sur les variables transmises à cette fonction. Elle est similaire à var_dump(), sauf que la représentation renvoyée est du code PHP légal.
Vous pouvez renvoyer une représentation d'une variable en définissant le deuxième paramètre de la fonction sur TRUE.
EG :
var_export(array('a','b',array('aa','bb','cc'))) 这种与VAR_DUMP没什么区别; $var =var_export(array('a','b',array('aa','bb','cc')),TRUE),加上TRUE后,不会再打印出来,而是给了一个变量,这样就可以直接输出; echo $var;此时输出来的形式与var_dump()打印的相似。
EG2
$data = array ('name' => 'abc', 'job' => 'programmer','a'=>array('aa','cc','bb')); $data = var_export($data,TRUE); echo $data;
Le format de sortie est le suivant :
array ( 'name' => 'abc', 'job' => 'programmer', 'a' => array ( 0 => 'aa', 1 => 'cc', 2 => 'bb', ), )
Le Voici les informations supplémentaires :
error_log(var_export(yblog_mspconfiginit("ratings"),true));
Cause du problème
var_export doit retourner le code php légal, c'est-à-dire le code renvoyé par var_export peut être directement utilisé comme code php. Attribuer une valeur à une variable. Et cette variable obtiendra le même type de valeur que var_export. Cependant, lorsque la variable est de type ressource, elle ne peut pas être copiée simplement. Par conséquent, lorsque la variable de var_export est de type ressource, var_export renverra NULL.
Découverte du problème
Quand le suivi de yratings_get_targets,
error_log(var_export(yblog_mspconfiginit("ratings"),true));老是打印出yblog_mspconfiginit(“ratings”)的返回是NULL
m'a amené à penser que la connexion à la base de données ne pouvait pas être établie, et j'ai pris le mauvais chemin pendant une journée.
Enfin, j'ai découvert que c'est l'une des différences entre var_export et var_dump
C'est :
La cause du problème
var_export doit renvoyer du code php légal, c'est-à-dire var_export renvoie Le code peut être directement utilisé comme code PHP pour affecter une variable. Et cette variable obtiendra le même type de valeur que var_export
Cependant, lorsque le type de variable est ressource, elle ne peut pas être simplement copiée. Par conséquent, lorsque la variable de var_export est de type ressource, var_export retournera NULL
$res = yblog_mspconfiginit("ratings"); var_dump($res); var_export($res);Résultat :Le code est le suivant :
resource(1) of type (yahoo_yblog)NULL Autre exemple :Le code est le suivant :
$res = fopen('status.html', 'r'); var_dump($res); var_export($res);Résultat :
resource(2) of type (stream) NULLRecommandations associées :
Explication de l'exemple de fonction php var_export
Résumé de la fonction var_export Et comparaison avec var_dump
Introduction à l'utilisation de var_export et var_dump_PHP tutoriel
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!