加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_开封站长网 (http://www.0378zz.com/)- 科技、AI行业应用、媒体智能、低代码、办公协同!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php中对象引用和复制实例介绍析

发布时间:2022-06-30 14:20:58 所属栏目:PHP教程 来源:互联网
导读:本文实例讲述了php中对象引用和复制。分享给大家供大家参考,具体如下: 引用 $tv2 = $tv1; 以上两种方式,效果是一样的。可以理解为linux里面的硬链接。 克隆(浅复制) $tv2 = clone $tv1; 浅复制:被复制对象的所有变量都含有与原来的对象相同的值,而所
  本文实例讲述了php中对象引用和复制。分享给大家供大家参考,具体如下:
 
  引用
 
 
  $tv2 = &$tv1;
 
  以上两种方式,效果是一样的。可以理解为linux里面的硬链接。
 
  克隆(浅复制)
 
  $tv2 = clone $tv1;
 
  “浅复制”:被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用都仍然指向原来的对象。也就是说,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。
 
  深复制
 
  代码示例:
 
  <?php
  header("Content-type:text/html;charset=utf-8");
  class TvControl{
  }
  class Tv{
    private $color;
    private $tvControl;
    function __construct(){
      $this->color = "black";
      $this->tvControl = new TvControl();
    }
    function setColor($color){
      $this->color = $color;
    }
    function getColor(){
      return $this->color;
    }
    function getTvControl(){
      return $this->tvControl;
    }
  }
  $tv1 = new Tv();
  $tvControl1 = $tv1->getTvControl();
  echo "原始类:";
  var_dump($tv1);
   输出结果:
 
  原始类:
 
  object(Tv)[1]
    private 'color' => string 'black' (length=5)
       object(TvControl)[2]
  深复制:
 
  object(Tv)[4]
    private 'color' => string 'black' (length=5)
    private 'tvControl' =>
      object(TvControl)[5]

(编辑:开发网_开封站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读