php var_export与var_dump 输出的不同_php技巧
程序员文章站
2022-05-04 09:35:48
...
问题发现
在跟踪yratings_get_targets的时候,
error_log(var_export(yblog_mspconfiginit("ratings"),true));老是打印出yblog_mspconfiginit(“ratings”)的返回是NULL
在跟踪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 var_dump遍历对象属性的函数与应用代码
-
PHP基于cookie与session统计网站访问量并输出显示的方法
-
Linux下的Apache与PHP安全设置技巧
-
php输出echo、print、print_r、printf、sprintf、var_dump的区别比较
-
PHP逐行输出(ob_flush与flush的组合)
-
使用PHP的日期与时间函数技巧
-
解析php中var_dump,var_export,print_r三个函数的区别
-
php checkbox复选框值的获取与checkbox默认值输出方法
-
PHP 中 var_export、print_r、var_dump 调试中的区别
-
PHP中的输出echo、print、printf、sprintf、print_r和var_dump的示例代码