您的位置:首页 > 编程语言 > PHP开发

var_export与var_dump输出的不同

2011-03-16 11:26 453 查看

问题发现

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

原文地址: http://www.laruence.com/2008/04/03/15.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  null yahoo stream php