<?php class A{ public $a = 1; function aa(){ $b = $this; echo $b->a; //输出1 $this->a = 2; echo $b->a; //输出2 } }
想知道第二次输出为么是2????
学习是最好的投资!
http://php.net/manual/zh/language.oop5.references.php 对象和引用
这个问题的核心在于: 你不了解PHP是怎么传值的。去了解一下吧, 顺便把&符号, 类的__clone魔术方法搞明白。
上面输出2的原因是因为php传递对象默认传递的是引用。
http://php.net/manual/zh/language.oop5.references.php
对象和引用
这个问题的核心在于: 你不了解PHP是怎么传值的。去了解一下吧, 顺便把&符号, 类的__clone魔术方法搞明白。
上面输出2的原因是因为php传递对象默认传递的是引用。