在前面的PHP面向对象之对象和引用,我们试图以"$b=$a"的方式复制对象以传递对象的值(内容),结果却是传递对象的地址,在结尾为了解决复制对象这个问题,提到了克隆的方法。接下来讲一下php面向对象之克隆对象


前面我们已经知道,使用传址引用的方式调用对象,实质调用的是同一个对象,有时需要建设立一个对象的副本,改变原来的对象时不希望影响到副本,在PHP中可以根据现在的对象来克隆出一个完全一样的对象,克隆出来的副本和原本两个对象完全独立而互不干扰。


对象克隆

在php中使用"clone"关键字来克隆对象。

01 <?php
02      class Person { 
03           public $name
04                                                                                                        
05           function __construct($name="" ) {
06                $this->name =$name;
07                                                                                                                   
08           }
09           function say()  {    
10                echo "我叫:"$this->name ."<br>" ;
11           }
12      }
13      $Person=new Person( "张三"); 
14      $Person1=clone $Person//使用clone关键字克隆(复制)对象,创建一个对象的副本
15     // $Person1=$Person   //这不是复制对象,而是为对象多复制出一个访问该对象的引用
16      $Person->say();                    
17      $Person1->say();                    
18                                                                                                           
19 ?>

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-10-20
  • 2022-12-23
  • 2021-10-20
  • 2021-07-14
  • 2021-12-14
  • 2021-12-23
猜你喜欢
  • 2022-02-14
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-29
  • 2022-01-25
相关资源
相似解决方案