Press "Enter" to skip to content

var_export 与 var_dump的不同

问题发现

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

16 Comments

  1. Lillian
    Lillian November 15, 2017

    请问大家在看这篇文章的时候,对yblog_mspconfiginit是如何理解的?我查php手册没有这个函数,这个是鸟哥自定义的函数的,返回的类型为resource。只是个例子?

  2. scau_huang
    scau_huang May 15, 2015

    你好,我是一个PHP初学者,学过一年的js,之前学js是看http://dmitrysoshnikov.com/ecmascript/chapter-7-2-oop-ecmascript-implementation/学习的,里面讲的很好,如果你能类似这些将关于PHP的标准的,请务必告诉我,最好是英文的,如果没有类似的,希望您能够推荐几本书给我

  3. The physical school is bound only to cover a single state, but
    the online driving education has a global scope or wider coverage.
    Complete the errands (recycling, returns, donations). What this means
    is that if you suffer an accident, you are not suppose to
    wait around and do nothing.

  4. tiant167
    tiant167 October 30, 2013

    谢谢鸟哥答疑解惑~!好想去新浪啊!

  5. easy
    easy February 25, 2012

    所以说还是用var_dump好?

  6. bird
    bird October 2, 2011

    对了,我是在win 7 下,apache 2.2.19 mysql 5.5 php5.2.17

  7. bird
    bird October 2, 2011

    鸟哥,很高兴收到您的回复!!
    我问您一个问题:
    我安装了mysql5.5版的 ,但是连接mysql的客户端libmysql库用的是5.0.12a,我尝试了用mysql根目录下的libmysq(5.5)配置,但是报错,这会不会影响读取数据库的速度?
    我打开wordpress ,httpd cpu 占用100%,速度很慢 ,超时,您能告诉我下这是为什么吗?

  8. 雪候鸟
    雪候鸟 October 1, 2011

    @bird 我觉得还是要多动手, 自己可以写点项目, 如果没有项目可以做, 也可以为开源做做贡献 🙂

  9. bird
    bird October 1, 2011

    鸟哥,能否告诉我怎么学习php,我已经看过一本php书,我现在是照着博客里面的一些demo 看懂了自己动手写一遍,这是正确的方向吗

Comments are closed.