对一个在对象中使用引用的例子不解,求分析?

2014-01-05 19:15:22 +08:00
 anewg
出处 http://www.php.net/manual/zh/language.references.whatdo.php 底部的评论区

代码:

class reftest
{
public $a = 1;
public $c = 1;

public function reftest()
{
$b =& $this->a;
$b++;
}

public function reftest2()
{
$d =& $this->c;
$d++;
}
}

$reference = new reftest();

$reference->reftest();
$reference->reftest2();

echo $reference->a; //Echoes 3.
echo $reference->c; //Echoes 2.

为何?
2816 次点击
所在节点    PHP
2 条回复
Sunyanzi
2014-01-05 19:53:30 +08:00
类的构造器不一定非叫 __construct ... 和类名同名的方法也是构造器 ... 并且适用范围更广 ...

也就是以下三行代码 ...

$reference = new reftest(); // reftest 方法执行一次
$reference->reftest(); // reftest 方法执行第二次
$reference->reftest2(); // reftest2 方法执行一次

其他的应该就没有问题了吧 ..?
anewg
2014-01-05 19:58:08 +08:00
@Sunyanzi 没了,眼戳没仔细看函数名字

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/95757

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX