· 本文地址: http://www.laruence.com/2008/04/03/15.html
· 轉載請註明出處
問題發現
在跟蹤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
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