php var_export与var_dump 输出的不同
在yratings_get_targets的过程中,我偶然发现了一个令人困惑的现象。通过error_log和var_export函数尝试打印yblog_mspconfiginit("ratings")的返回值时,结果总是NULL。这曾让我误以为无法与数据库建立连接,为此我白白忙活了一天。问题的真相却隐藏在var_export和var_dump的细微差别之中。
问题在于,var_export的特殊性质:它必须返回合法的PHP代码。换句话说,var_export输出的代码可以直接作为PHP代码赋值给变量。这个变量将获得与原始变量相同的值类型。当变量类型为资源(resource)时,情况就变得复杂了。因为资源类型的变量无法直接复制,当使用var_export导出资源类型的变量时,它会返回NULL。
为了更直观地说明这一点,我们可以看两个实例:
第一个实例中,我们调用$res = yblog_mspconfiginit("ratings"); 接着使用var_dump和var_export输出$res的值。结果如下:
```php
resource(1) of type (yahoo_yblog)
NULL
```
在第二个实例中,我们打开一个文件并尝试使用同样的方式输出:
```php
$res = fopen('status.html', 'r');
var_dump($res); // 输出资源类型信息,如:resource(2) of type (stream)
var_export($res); // 输出NULL
```
这两个例子都清楚地展示了当变量类型为资源时,var_export会返回NULL。这可能是因为资源类型变量包含的是某种特定的内存地址或句柄,这种信息无法以文本形式直接表示并复制。在使用var_export时,如果涉及的变量是资源类型,那么返回的结果将是NULL。这也解释了为什么之前尝试通过error_log打印yblog_mspconfiginit的返回值时总是得到NULL。这并不是函数本身的问题,而是由于使用了var_export导致的误解。希望这个解释能帮助你更好地理解这个问题,避免类似的误解和困扰。
编程语言
- php var_export与var_dump 输出的不同
- php取整函数ceil,floo,round的用法及介绍
- IE9下Ajax无法刷新数据的缓存问题解决方法
- Laravel的下载以及使用composer来安装debugbar扩展包图
- JavaScript 正则表达式 验证整数、小数、实数、有
- JS实现静态页面搜索并高亮显示功能完整示例
- 查看ASP详细错误提示信息的图文设置方法
- SQL 中 NULL值测试代码
- 详解让sublime text3支持Vue语法高亮显示的示例
- 深入php var_dump()函数的详解
- Asp.net后台调用js 2种方法
- 浅谈键盘上回车按钮的js触发事件
- JQuery统计input和textarea文字输入数量(代码分享)
- 未公开的SQL Server口令的加密函数
- 通过备份记录获取数据库的增长情况
- vue加载完成后的回调函数方法