搜索

首页  >  问答  >  正文

php $this赋值的问题

<?php
class A{
    public $a = 1;
    function aa(){
        $b = $this;
        echo $b->a;   //输出1
        $this->a = 2;
        echo $b->a;  //输出2 
    }
}

想知道第二次输出为么是2????

PHPzPHPz2829 天前266

全部回复(2)我来回复

  • PHP中文网

    PHP中文网2017-04-10 15:18:15

    http://php.net/manual/zh/language.oop5.references.php
    对象和引用

    回复
    0
  • PHP中文网

    PHP中文网2017-04-10 15:18:15

    这个问题的核心在于: 你不了解PHP是怎么传值的。去了解一下吧, 顺便把&符号, 类的__clone魔术方法搞明白。

    上面输出2的原因是因为php传递对象默认传递的是引用。

    回复
    0
  • 取消回复