中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP對象中淺復制與深復制的示例分析

發布時間:2021-07-15 10:44:42 來源:億速云 閱讀:108 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關PHP對象中淺復制與深復制的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

PHP對象的淺復制與深復制的實例詳解

最近在看原型模式時注意到這個問題~~PHP中對象 '=' 與‘clone'的區別

實例代碼:

//聚合類 
class ObjA { 
  public $num = 0; 
  public $objB;//包含的對象 
  function __construct() { 
    $this->objB = new ObjB(); 
  } 
  //只有實現了下面方法聚合類 才能實現深復制 
  /*function __clone() { 
    $this->objB = clone $this->objB; 
  }*/ 
} 
 
class ObjB { 
  public $num2 = 0; 
} 
 
//原型對象 
$objA = new ObjA(); 
 
//復制對象(‘='復制引用) 
$objA2 = $objA; 
$objA2->num = 2; 
//隨著$objA2->num的變化 $objA->num也變化了 
print_r($objA->num.'<br/>');//結果為2 
print_r($objA2->num.'<br/>');//結果為2 
 
//復制對象(‘clone'關鍵字克隆) 
$objA3 = clone $objA; 
$objA3->num = 4; 
//隨著$objA3->num的變化 $objA->num沒有變化 
print_r($objA->num.'<br/>');//結果為2 
print_r($objA3->num.'<br/>');//結果為4 
//但是clone的對象(是聚合類)中包含其他對象時所包含的對象(objB)復制的是引用 
$objA3->objB->num2 = 7; 
print_r($objA3->objB->num2.'<br/>');//結果是7 
print_r($objA->objB->num2.'<br/>');//結果是7</pre>

關于“PHP對象中淺復制與深復制的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

江口县| 英超| 土默特右旗| 和林格尔县| 安庆市| 泰来县| 吴江市| 航空| 大新县| 郎溪县| 易门县| 桐乡市| 镇沅| 桓台县| 曲周县| 新乡市| 宁晋县| 阳春市| 宁蒗| 乌兰浩特市| 岐山县| 兴城市| 盐亭县| 通海县| 礼泉县| 彝良县| 罗甸县| 宜兰县| 望谟县| 安化县| 庆安县| 克东县| 景宁| 波密县| 靖安县| 胶南市| 财经| 张家界市| 邓州市| 肃宁县| 晋江市|