看掉了,原来$obj = &new stdclass; 有个&,还是不很明白,

解决方案 »

  1.   

    function test_global_ref() { 
        global $obj; 
        $obj = &new stdclass; 
    } 主要原因是因为&号.
    &new stdclass;这个对象的生命周期是随着函数的结束而结束的,所以在函数外面就为NULL了.
      

  2.   

    $obj = &new stdclass; 我理解是传new stdclass 的地址给$obj 有错吗 
    $obj = new stdclass;  是值传递对吗。因为global $obj; 定义了全局,离开作用域$obj ==address A==&new stdclass ==null 对不。
      

  3.   

    $obj = &new stdclass;传递地址
    $obj = new stdclass;引用
    理解正确应该可以这样理解.
    呵呵.很头疼的问题.不一定正确哈.
      

  4.   

    $obj = &new stdclass;
    这个应该存在语法错误,你可以在他的后面直接var_dump一下,$obj应该仍旧是null。
    最起码,对于static成员来说,达不到预期的效果。static $obj是静态成员,在一次被定义之后就会留在内存中,跟global类似,但是,变量的访问范围被受到限制。
      

  5.   

    $obj = &new stdclass; 
    var_dump($obj);
    这样是可以得到值的.因为在函数内部new stdclass地址是有效的,但离开函数以后就消失了.