Heim > Artikel > Backend-Entwicklung > Analyse des Unterschieds zwischen var_export und var_dump in PHP
Dieser Artikel teilt Ihnen hauptsächlich die Analyse des Unterschieds zwischen var_export und var_dump in PHP mit. Ich hoffe, er kann Ihnen helfen.
var_dump (PHP 3 >= 3.0.5, PHP 4, PHP 5)
var_dump – Variablenbezogene Informationen drucken
Beschreibung
void var_dump ( mixed expression [, mixed expression [, ...]] )
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.
Der Code lautet wie folgt:
$data = array ('name' => 'abc', 'job' => 'programmer','a'=>array('aa','cc','bb')); $data = var_dump($data,TRUE); echo $data;
Das Ausgabeformat ist wie folgt:
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)
two var_export
(PHP 4 >= 4.2.0, PHP 5) var_export -- 输出或返回一个变量的字符串表示 描述 mixed var_export ( mixed expression [, bool return] )
Diese Funktion gibt Strukturinformationen über die an diese Funktion übergebenen Variablen zurück. Sie ähnelt var_dump(), außer dass die zurückgegebene Darstellung legaler PHP-Code ist.
Sie können eine Darstellung einer Variablen zurückgeben, indem Sie den zweiten Parameter der Funktion auf TRUE setzen.
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;
Das Ausgabeformat ist wie folgt:
array ( 'name' => 'abc', 'job' => 'programmer', 'a' => array ( 0 => 'aa', 1 => 'cc', 2 => 'bb', ), )
The Im Folgenden finden Sie ergänzende Informationen:
error_log(var_export(yblog_mspconfiginit("ratings"),true));
Ursache des Problems
var_export muss legalen PHP-Code zurückgeben, d. h. den von var_export zurückgegebenen Code kann direkt als PHP-Code verwendet werden. Weisen Sie einer Variablen einen Wert zu. Und diese Variable erhält denselben Werttyp wie var_export. Wenn es sich bei der Variablentyp jedoch um eine Ressource handelt, kann sie nicht einfach kopiert werden. Wenn die Variable von var_export jedoch vom Ressourcentyp ist, gibt var_export NULL zurück.
Problemerkennung
Wann Das Tracking von yratings_get_targets,
error_log(var_export(yblog_mspconfiginit("ratings"),true));老是打印出yblog_mspconfiginit(“ratings”)的返回是NULL
ließ mich denken, dass die Verbindung zur DB nicht hergestellt werden konnte, und habe einen Tag lang den falschen Weg eingeschlagen.
Schließlich habe ich herausgefunden, dass dies einer der Unterschiede zwischen var_export und var_dump ist
Das ist:
Ursache des Problems
var_export muss legalen PHP-Code zurückgeben, d. h. var_export gibt den Code zurück, der direkt als PHP-Code zum Zuweisen einer Variablen verwendet werden kann. Und diese Variable erhält den gleichen Werttyp wie var_export
Wenn der Variablentyp jedoch „Ressource“ ist, kann er nicht einfach kopiert werden. Wenn die Variable von var_export vom Ressourcentyp ist, gibt var_export daher NULL zurück
Beispiel
$res = yblog_mspconfiginit("ratings"); var_dump($res); var_export($res);
Ergebnis:
Der Code lautet wie folgt:
resource(1) of type (yahoo_yblog)
NULL Ein weiteres Beispiel:
Der Code lautet wie folgt :
$res = fopen('status.html', 'r'); var_dump($res); var_export($res);
Ergebnis:
resource(2) of type (stream) NULL
Verwandte Empfehlungen:
Beispielerklärung zur PHP var_export-Funktion
Zusammenfassung der Funktion var_export und Vergleich mit var_dump
Einführung in die Verwendung von var_export und var_dump_PHP-Tutorial
Das obige ist der detaillierte Inhalt vonAnalyse des Unterschieds zwischen var_export und var_dump in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!