V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
anewg
V2EX  ›  PHP

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

  •  
  •   anewg · 2014-01-05 19:15:22 +08:00 · 2810 次点击
    这是一个创建于 3761 天前的主题,其中的信息可能已经有所发展或是发生改变。
    出处 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.

    为何?
    2 条回复    1970-01-01 08:00:00 +08:00
    Sunyanzi
        1
    Sunyanzi  
       2014-01-05 19:53:30 +08:00   ❤️ 1
    类的构造器不一定非叫 __construct ... 和类名同名的方法也是构造器 ... 并且适用范围更广 ...

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

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

    其他的应该就没有问题了吧 ..?
    anewg
        2
    anewg  
    OP
       2014-01-05 19:58:08 +08:00
    @Sunyanzi 没了,眼戳没仔细看函数名字
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   980 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 20:23 · PVG 04:23 · LAX 13:23 · JFK 16:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.