php var_export与var_dump 输出的不同

yipeiwu_com6年前PHP代码库

问题发现
在跟踪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 引用是个坏习惯

复制代码 代码如下: function binsearch(&$arr, $key, $value) { $low = 0; $high = count($arr); while ($l...

PHP统计目录中文件以及目录中目录大小的方法

本文实例讲述了PHP统计目录中文件以及目录中目录大小的方法。分享给大家供大家参考,具体如下: <?php //循环遍历目录中所有的文件,并统计目录和文件的大小 $d...

php实现html标签闭合检测与修复方法

本文实例讲述了php实现html标签闭合检测与修复方法。分享给大家供大家参考。具体如下: html标签闭合检测与修复,说的有点大 , 并没有考虑的很完整,没有使用正则表达式, 适用于ht...

php + nginx项目中的权限详解

本文给大家介绍的关于php + nginx项目权限的相关内容,分享出来供大家参考学习,下面来看看详细的介绍: nginx/php-fpm 进程权限 主进程用户为启动的用户...

详解php用static方法的原因

静态方法不需要所在类被实例化就可以直接使用。 静态方法效率上要比实例化高,静态方法的缺点是不自动进行销毁,而实例化的则可以做销毁。 静态方法和静态变量创建后始终使用同一块内存,而使用实例...