php教程 var_export 與 var_dump的分析區別
問題發現
在跟蹤yratings_get_targets的時候,
error_log(var_export(yblog_mspconfiginit("ratings"),true));
老是打印出yblog_mspconfiginit(“ratings”)的返回是NULL
導致我以為是無法建立和DB的連接,走錯路了一天。
最後才發現,這是var_export和var_dump的區別之一
這就是:
問題原因
var_export必須返回合法的php代碼, 也就是說,var_export返回的代碼,可以直接當作php代碼賦值個一個變量。 而這個變量就會取得和被var_export一樣的類型的值
但是, 當變量類型為resource的時候, 是無法簡單copy復制的,所以, 當var_export的變量是resource類型時, var_export會返回NULL
實例
$res = yblog_mspconfiginit("ratings");
var_dump($res);
var_export($res);
結果:
resource(1) of type (yahoo_yblog)
NULL
再比如:
$res = fopen('status.html', 'r');
var_dump($res);
var_export($res);
結果:
resource(2) of type (stream)
NULL