PHP对象克隆clone用法示例

前端之家收集整理的这篇文章主要介绍了PHP对象克隆clone用法示例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了PHP对象克隆clone用法分享给大家供大家参考,具体如下:

浅克隆:

属性存储的是对象类型,则会出现克隆不完全

PHP;"> b = new B(); } } $obj_a = new A(); $obj_b = clone $obj_a; $obj_a->val = 30; $obj_a->b->val = 40; var_dump($obj_a); echo '
'; var_dump($obj_b);

运行结果如下:

int 30 public 'b' => object(B)[2] public 'val' => int 40

object(A)[3]
public 'val' => int 20
public 'b' =>
object(B)[2]
public 'val' => int 40

深克隆:

属性数据都彻底的复制,需要使用魔术方法__clone(),并在里面实现深度克隆

PHP;"> b = new B(); } public function __clone(){ $this->b = clone $this->b; } } $obj_a = new A(); $obj_b = clone $obj_a; $obj_a->val = 30; $obj_a->b->val = 40; var_dump($obj_a); echo '
'; var_dump($obj_b);

运行结果如下:

int 30 public 'b' => object(B)[2] public 'val' => int 40

object(A)[3]
public 'val' => int 20
public 'b' =>
object(B)[4]
public 'val' => int 10

更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》及《

希望本文所述对大家PHP程序设计有所帮助。

原文链接:https://www.f2er.com/php/18924.html

猜你在找的PHP相关文章