举这个例子。我从来没有注意到这样的行为:
class foo
{
public $foo = 0;
public function addFoo()
{
$this->foo = $this->foo + 1;
return $this;
}
}
$bar = new foo;
$a = $bar;
$b = $bar->addFoo();
$c = $bar->addFoo();
我假设脚本完成后:
$a->foo 是:0
$b->foo 是:1
$c->foo 是:2
但事实并非如此。我得到:
$a->foo 是:2
$b->foo 是:2
$c->foo 是:2
我不明白,为什么 $a->foo 是 2。它不是指针,也永远不会改变。
也许有人可以解释或向我展示 PHP 文档的链接,其中涵盖了这一点。
谢谢你。