php手冊之clone,php手冊pdf

本文目錄一覽:

怎麼在php中使用clone複製對象

(1)調用Cbitmap類的LoadBitmap函數調入點陣圖資源。

(2)調用CDC::CreatCompatibleDC函數創建一個內存設備環境,以便點陣圖在內存中保留下來,並於指定設備環境兼容。

如何使用PHP5中的Clone函數

這還不僅僅是因為它對於PHP4高度的向後兼容性。

當然,PHP5數據包具備強大的對象模型和一整套新型函數與庫,更不用說它其中攜帶型異常機制,這一機制賦予了它有效處理錯誤和異常事件的能力。

通過php在伺服器上寫入文件

當然,當我們使用「函數」這一詞時,我們所談論的並不僅是通常所指的執行指定任務(如從文件中讀取數據或為所供變數應用過濾器)的那一概念。我們所指的還包括一些神奇功能,即那些不具備默認的確定執行任務且可以被PHP引擎自動調用以響應某些特定事件的函數。

開發對象指向型PHP應用程序時,_set(),_get()和_call()方法就種神奇函數的典型代表,但是還有其他一些神奇函數值得開發員深入分析。在本文里,我們將集中討論「_clone()」方法,顧名思義,使用「clone」PHP關鍵詞時可以從幕後調用這一方法。

複製對象的時候從幕後觸發函數

就像我們在之前提到的,使用clone關鍵詞的時候,_clone()函數會被自動援引。為了簡潔起見,現在我們只談論用來創建指定對象單獨副本的clone關鍵詞,而不談及創建引用。

php clone後是什麼對象

在php5中,對象的傳遞方式默認為引用傳遞,如果我們想要在內存中生成兩個一樣的對象或者創建一個對象的副本,這時可以使用「克隆」。

通過 clone 克隆一個對象

對象的複製是通過關鍵字 clone 來實現的。用 clone 克隆出來的對象與原對象沒有任何關係,它是把原來的對象從當前的位置重新複製了一份,也就是相當於在內存中新開闢了一塊空間。通過關鍵字 clone 可以克隆一個對象,語法格式如下:

$克隆對象名稱=clone $原對象名稱;

__clone()方法

對象的__clone()方法不能夠直接被調用,只有當通過關鍵字 clone 克隆一個對象時才可以使用該對象調用__clone()方法。當創建對象的一個副本時,php5將會檢查__clone()方法是否存在。如果不存在,那 么它就會調用默認的__clone()方法,複製對象的所有屬性。如果__clone方法已經定義過,那麼__clone()方法就會負責設置新對象的屬 性。所以在__clone()方法中,只需要覆蓋那些需要更改的屬性就可以了。例子如下:

PHP對象克隆clone用法示例

本文實例講述了PHP對象克隆clone用法。分享給大家供大家參考,具體如下:

淺克隆:只是克隆對象中的非對象非資源數據,即對象中屬性存儲的是對象類型,則會出現克隆不完全

?php

class

B{

public

$val

=

10;

}

class

A{

public

$val

=

20;

public

$b;

public

function

__construct(){

$this-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

‘br’;

var_dump($obj_b);

運行結果如下:

object(A)[1]

public

‘val’

=

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

class

B{

public

$val

=

10;

}

class

A{

public

$val

=

20;

public

$b;

public

function

__construct(){

$this-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

‘br’;

var_dump($obj_b);

運行結果如下:

object(A)[1]

public

‘val’

=

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面向對象程序設計入門教程》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《PHP網路編程技巧總結》、《PHP數組(Array)操作技巧大全》、《php字元串(string)用法總結》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

原創文章,作者:FPXV,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/140615.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
FPXV的頭像FPXV
上一篇 2024-10-04 00:24
下一篇 2024-10-04 00:24

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python基礎教程第三版PDF下載

    熟練掌握Python編程語言可以讓你輕鬆地用代碼解決很多問題,Python基礎教程第三版是一本適合初學者的Python教程。本文將從幾個方面詳細介紹Python基礎教程第三版PDF…

    編程 2025-04-29
  • 使用Spire.PDF進行PDF文檔處理

    Spire.PDF是一款C#的PDF庫,它可以幫助開發者快速、簡便地處理PDF文檔。本篇文章將會介紹Spire.PDF庫的一些基本用法和常見功能。 一、PDF文檔創建 創建PDF文…

    編程 2025-04-29
  • Python零基礎PDF下載

    本文將為大家介紹如何使用Python下載PDF文件,適合初學者上手實踐。 一、安裝必要的庫 在Python中,我們需要使用urllib和requests庫來獲取PDF文件的鏈接,並…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 智能風控 Python金融風險PDF

    在金融交易領域,風險控制是一項重要任務。智能風控是指通過人工智慧技術和演算法模型,對金融交易進行風險識別、風險預警、風險控制等操作。Python是一種流行的編程語言,具有方便、易用、…

    編程 2025-04-29
  • Python編程與數據分析應用PDF

    Python編程是一門功能強大的編程語言,其易讀易寫、可擴展性強等優點使得它在各個領域都有著廣泛的應用。而數據分析也是當今各行各業的基本需求,Python語言通過優秀的數據分析庫也…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • 文本數據挖掘與Python應用PDF

    本文將介紹如何使用Python進行文本數據挖掘,並將著重介紹如何應用PDF文件進行數據挖掘。 一、Python與文本數據挖掘 Python是一種高級編程語言,具有簡單易學、代碼可讀…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28

發表回復

登錄後才能評論