![]() |
|
首页 │ Apache │ Linux│ Java│ MySQL│ 注册│帮助 | |||
相关问题
看了关于引用介绍,还是不很明白,
那位好心人把下面的执行过程说一遍呀!
谢谢!
<?php
class A
{
function A($i)
{
$this->value = $i;
// 试着想明白为什么这里不需要引用
$this->b = new B($this);
}
function createRef()
{
$this->c = new B($this);
}
function echoValue()
{
echo "
","class ",get_class($this),': ',$this->value;
}
}
class B
{
function B(&$a)
{
$this->a = &$a;
}
function echoValue()
{
echo "
","class ",get_class($this),': ',$this->a->value;
}
}
// 试着理解为什么这里一个简单的拷贝会在下面用 *
// 标出来的行中产生预期之外的结果
$a =& new A(10);
$a->createRef();
$a->echoValue();
$a->b->echoValue();
$a->c->echoValue();
$a->value = 11;
$a->echoValue();
$a->b->echoValue(); // *
$a->c->echoValue();
提问者:流水 06-02 15:03
答复

