ホームページ >バックエンド開発 >PHPチュートリアル >php_PHP チュートリアルの var_export と var_dump の違いの分析

php_PHP チュートリアルの var_export と var_dump の違いの分析

WBOY
WBOYオリジナル
2016-07-21 15:34:02954ブラウズ

a var_dump
(PHP 3 >= 3.0.5, PHP 4, PHP 5)
var_dump -- 変数の関連情報を出力します
Description
void var_dump ( 混合式 [, 混合式 [, ...]] )

この関数は、式のタイプや値など、1 つ以上の式に関する構造情報を表示します。配列は値を再帰的に展開し、インデントによって構造を表示します。

コードをコピー コードは次のとおりです:

$data = array ('name' => 'abc', 'job' => 'programmer','a'=>array( 'aa' ,'cc','bb'));
$data = var_dump($data,TRUE);

出力形式は次のとおりです:

コードは次のとおりです: 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 return] )

この関数は、関数に渡された変数に関する構造情報を返します。返される表現が正当な PHP コードである点を除いて、var_dump() に似ています。
関数の 2 番目のパラメーターを TRUE に設定することで、変数の表現を返すことができます。
例:
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);


コードをコピーします。

コードは次のとおりです:
' cc', 2 => 'bb', ), )



以下は補足情報です:
error_log(var_export(yblog_mspconfiginit("評価" ),true));
問題の原因
var_export が必要です 正当な PHP コードを返します。つまり、var_export によって返されるコードは、PHP コードとして変数に直接割り当てることができます。そして、この変数は var_export と同じタイプの値を取得します。ただし、変数の型がリソースの場合、単純にコピーすることはできません。そのため、var_export の変数がリソース型の場合、
問題発見yrateds_get_targets を追跡するときに、
コードをコピーします。コードは次のとおりです:


error_log(var_export(yblog_mspconfiginit("rateds"),true)); yblog_mspconfiginit("rateds") の戻り値が常に NULL であることが出力されます


これにより、接続がDBへの接続が確立できず、1日間違った方向に進みました。

最後に、これが var_export と var_dump の違いの 1 つであることがわかりました

これは次のとおりです:
問題の原因
var_export は正当な PHP コードを返す必要があります。つまり、var_export によって返されるコードは直接割り当てることができます。 PHP コードとして変数を指定します。 そして、この変数は var_exported と同じ型の値を取得します
ただし、変数の型がリソースの場合は単純にコピーすることができないため、var_export の変数がリソース型の場合、var_export は NULL
Instance を返します。



コードをコピーします

コードは次のとおりです:
$res = yblog_mspconfiginit("評価") var_export($res); コードをコピー
コードは次のとおりです:

resource(1) タイプ (yahoo_yblog)


NULL 別の例:



コードをコピーします

コードは次のとおりです:


$res = fopen('status.html', 'r ');
var_dump($res);
結果:
コードをコピー コードは次のとおりです:

resource(2) タイプ (ストリーム)
NULL

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/322468.html技術記事 1 var_dump (PHP 3 = 3.0.5、PHP 4、PHP 5) var_dump -- 変数の関連情報の説明を出力します void var_dump (混合式 [, 混合式 [, ...]] ) この関数は、変数に関する情報を表示します。または.. .
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。