PHP5的OOP3--对象拷贝
原创
©著作权归作者所有:来自51CTO博客作者xcf007的原创作品,请联系作者获取转载授权,否则将追究法律责任

<?php
class A

{
// 属性(成员)声明
public $aa = '缺省值';
public $bb=array(
"苹果",
"葡萄",
"香蕉");
// 方法声明
public function echo_aa() {

echo $
this->aa;
//not $this->$aa 
}

}

$a1=
new A;

$a1->aa=
"我是a1";

$a2 = $a1;

$a3 =& $a1;
//如果说把$a1和$a2看做是对同一块内存区的引用的话,那么$a3可以看作是对
//$a1的引用,也就是说$a1的值得变化引起$a3同样的改变

$a1->aa= '我是a1,我已经修改';

$a1 =
null;
// $a1 and $a3 become null

var_dump($a1);echo
"<br/>";

var_dump($a2);echo
"<br/>";

var_dump($a3);
//$a1都为null了,你$a3也难逃一劫 
?>
如果大家还不太明白,看看简单类型的吧:

<?php

$a=1;

$b=$a;
//简单的值拷贝--之后2者互不干涉对方"生活",哈哈 
$c=& $a;
//这里关键 
$a=2;

echo $a.
"<br/>";
//2 
echo $b.
"<br/>";
//1 
echo $c.
"<br/>";
//2 
?>