php clone()中的地址传递(&)

来源:互联网 发布:淘宝网电视图片及价格 编辑:程序博客网 时间:2024/06/06 16:37

    下面这个例子我将展示地址的传递:

     for example:

class A{

public $name;
 
public function __construct(){
$this->name=&$this->name;
}
}


$a=new A;
$a->name="George";

$b=clone $a;
$b->name="Somebody else";

var_dump($a);
var_dump($b);


输出结果为:

object(A)[1]  public 'name' => &string 'Somebody else' (length=13)
object(A)[2]  public 'name' => &string 'Somebody else' (length=13)
当我把$a->name="George"与$b->name="Somebody else"调换位置时,得出结果为:
object(A)[1]  public 'name' => &string 'George' (length=6)
object(A)[2]  public 'name' => &string 'George' (length=6)

当我把$b->name="Somebody else";去掉时:
object(A)[1]  public 'name' => &string 'George' (length=6)
object(A)[2]  public 'name' => &string 'George' (length=6)

综上所述:在地址传递时,$a与$b指向的是同一个地址,无论你怎么赋值,所得结果均按照赋值的先后顺序进行输出,与实例化后的对象赋值无关。

  


0 0
原创粉丝点击