萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php var_export 與 var_dump的分析區別

php var_export 與 var_dump的分析區別

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

copyright © 萬盛學電腦網 all rights reserved