- 论坛徽章:
- 0
|
看了论坛里关于引用介绍,还是不很明白,
那位好心人把下面的执行过程说一遍呀!
谢谢! :)
<?php
class A
{
function A($i)
{
$this->;value = $i;
// 试着想明白为什么这里不需要引用
$this->;b = new B($this);
}
function createRef()
{
$this->;c = new B($this);
}
function echoValue()
{
echo "<br>;","class ",get_class($this),': ',$this->;value;
}
}
class B
{
function B(&$a)
{
$this->;a = &$a;
}
function echoValue()
{
echo "<br>;","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(); |
|