是吗?1、
<?php
class Obj {
    $var = 1;
}
?>Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in ... on line 32、
<?php
class Obj {
    public $var = 1;
}$a = new Obj;
$b = $a;$a->var = 2;
echo $b->var; //结果为: 2$a = 5;
echo $b; // 结果为: Object id #1
?>3、第二段代码是正确的
因为 $b =& $a;
所以$b跟随$a的变化而变化,反之依然

解决方案 »

  1.   

    不好意思 发错了 第一段代码 $var = 1;前少一个publicTO xuzuning(唠叨): 关键是第一段代码难理解 ;(
      

  2.   

    <?php
    class Obj {
        public $var = 1;
    }$a = new Obj;
    $b = $a;$a->var = 2;
    echo $b->var; //结果为: 2 (如果$b=$a是赋值,此处为何是2?)$a = 5;
    echo $b->var; //结果为: 2 (如果$b=$a是引用,此处又为何仍为2?)
    ?>
      

  3.   

    在第一段代码中
    $b = $a;
    $b是$a的拷贝,而不是引用。所以结果也是正确的
      

  4.   

    说错了!
    在php5中对象总是以引用的方式传递,所以
    $b = $a;
    和php4中
    $b =& $a;
    的作用是一样的,当然前提是$a是对象需要注意的是php5中的对象的引用传递是隐式的,他与显式的引用传递(=&)是不同的
      

  5.   

    TO 唠叨:
    自然是引用那么下面又如何解释?<?php
    class Obj {
        public $var = 1;
    }$a = new Obj;
    $b = $a;
    $a = 5;
    echo $b->var; //结果为: 1 (自然是引用为何不是:5呢 ?)
    ?>
      

  6.   

    对象的隐式的引用传递只是一种赋值方式,他只是建立了内部的数据联系
    而显式的引用传递则建立了变量间的联系$a = new Obj;
    $b = $a;$a = 5;
    echo $b->var; //结果为: 1 (自然是引用为何不是:5呢 ?)
    因为他们间没有变量级的联系
    否则就与&冲突了
      

  7.   

    既然这样从效率上讲应该是这样吗?
    --------------显式引用对象 > 隐式引用对象 > 拷贝对象