var_export與var_dump的不同

2020-07-16 10:05:47

問題發現

在跟蹤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

更多PHP相關知識,請存取PHP中文網

以上就是var_export與var_dump的不同的詳細內容,更多請關注TW511.COM其它相關文章!