php $this赋值的问题

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

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

阅读 4.3k
2 个回答

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题