好好学习,东方不败。

做个努力的小伙。

  博客园  :: 首页  :: 新随笔  ::  ::  :: 管理
var_export必须返回合法的php代码,var_export返回的代码,可以直接当作php代码赋值个一个变量。

而这个变量就会取得和被var_export一样的类型的值。

 
问题描述:
在跟踪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

例子: 
<?php
//var_dump与var_export的区别
//by www.jbxue.com

$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
posted on 2013-08-20 07:03  snowfly123  阅读(309)  评论(0编辑  收藏  举报