欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2017年10月26日 11:43:24   作者:無奈的朱熹  
這篇文章主要介紹了PHP對象的淺復制與深復制的實例詳解的相關(guān)資料,希望通過本文能幫助到大家,讓大家理解掌握這部分內(nèi)容,需要的朋友可以參考下

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

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

實例代碼:

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

如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • 詳解PHP執(zhí)行定時任務(wù)的實現(xiàn)思路

    詳解PHP執(zhí)行定時任務(wù)的實現(xiàn)思路

    這篇文章主要介紹了詳解PHP執(zhí)行定時任務(wù)的幾種實現(xiàn)思路,PHP的定時任務(wù)功能必須通過和其他工具結(jié)合才能實現(xiàn),們就來深入的解析幾種常見的php定時任務(wù)的思路
    2015-12-12
  • PHP define函數(shù)的使用說明

    PHP define函數(shù)的使用說明

    PHP預(yù)先定義了幾個常量,并提供了一種機制在運行時自己定義。常量和變量基本上是一樣的,不同的是:常量必須用DEFINE函數(shù)定義,常量一旦定義好,就不能被重新定義了。
    2008-08-08
  • PHP實現(xiàn)自動識別Restful API的返回內(nèi)容類型

    PHP實現(xiàn)自動識別Restful API的返回內(nèi)容類型

    這篇文章主要介紹了PHP實現(xiàn)自動識別Restful API的返回內(nèi)容類型,并實現(xiàn)自動自動渲染成 json、xml、html、serialize、csv、php等數(shù)據(jù)格式輸出,需要的朋友可以參考下
    2015-02-02
  • PHP CLI模式下的多進程應(yīng)用分析

    PHP CLI模式下的多進程應(yīng)用分析

    PHP在很多時候不適合做常駐的SHELL進程, 他沒有專門的gc例程, 也沒有有效的內(nèi)存管理途徑. 所以如果用PHP做常駐SHELL, 你會經(jīng)常被內(nèi)存耗盡導致abort而unhappy
    2013-06-06
  • Session保存到數(shù)據(jù)庫的php類分享

    Session保存到數(shù)據(jù)庫的php類分享

    Session保存到數(shù)據(jù)庫的php類,需要的朋友可以參考下。
    2011-10-10
  • PHP-FPM 設(shè)置多pool及配置文件重寫操作示例

    PHP-FPM 設(shè)置多pool及配置文件重寫操作示例

    這篇文章主要介紹了PHP-FPM 設(shè)置多pool及配置文件重寫操作,涉及PHP使用PHP-FPM實現(xiàn)進程管理的相關(guān)操作技巧,需要的朋友可以參考下
    2019-10-10
  • 關(guān)于PHP語言構(gòu)造器介紹

    關(guān)于PHP語言構(gòu)造器介紹

    你提到的“語言構(gòu)造器”,英文是”language construct”,是語言構(gòu)成的意思,翻譯成語言構(gòu)造器難免有點令人困惑
    2013-07-07
  • PHP實現(xiàn)GIF圖片驗證碼

    PHP實現(xiàn)GIF圖片驗證碼

    這篇文章主要介紹了PHP如何生成GIF動態(tài)圖片驗證碼,在注冊界面時大家經(jīng)常用到驗證碼,需要了解的朋友可以參考下
    2015-11-11
  • php正則回溯繞過最大次數(shù)上限案例詳解

    php正則回溯繞過最大次數(shù)上限案例詳解

    這篇文章主要介紹了php利用正則回溯進行繞過最大次數(shù)上限的案例方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • php將html轉(zhuǎn)成wml的WAP標記語言實例

    php將html轉(zhuǎn)成wml的WAP標記語言實例

    這篇文章主要介紹了php將html轉(zhuǎn)成wml的WAP標記語言的方法,實例分析了php實現(xiàn)標簽的轉(zhuǎn)換與過濾的相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下
    2015-07-07

最新評論