關(guān)于“php復(fù)制值”的問題,小編就整理了【3】個(gè)相關(guān)介紹“php復(fù)制值”的解答:
PHP對(duì)象的淺復(fù)制與深復(fù)制的實(shí)例詳解?原型模式
用原型實(shí)例指定創(chuàng)建對(duì)象的種類,并且通過拷貝這些原型創(chuàng)建新的對(duì)象
原型模式是基于深復(fù)制和淺復(fù)制的,在Java里面有2種復(fù)制:
淺復(fù)制
將一個(gè)對(duì)象復(fù)制之后,生成一個(gè)新的對(duì)象,新對(duì)象的所有成員變量(基本類型或引用類型)都含有與原
有對(duì)象相同的值,如果原有對(duì)象的成員變量是基本數(shù)據(jù)類型,就會(huì)將這個(gè)變量的值拷貝一份到新對(duì)象
里面,如果原有對(duì)象的成員變量是引用數(shù)據(jù)類型,那么這個(gè)引用指向的對(duì)象不會(huì)新生成一份,而是,
在新對(duì)象里面的這個(gè)引用跟原有對(duì)象的引用指向的是同一個(gè)對(duì)象。
深復(fù)制
將一個(gè)對(duì)象復(fù)制之后,生成一個(gè)新的對(duì)象,新對(duì)象的基本數(shù)據(jù)類型變量含有與原有對(duì)象相同的值,如
果原有對(duì)象的成員變量是引用數(shù)據(jù)類型,在新對(duì)象里面,這些引用變量將指向被復(fù)制過的新對(duì)象,而
不再是指向原有的那些被引用的對(duì)象,深復(fù)制把要復(fù)制的對(duì)象所引用的對(duì)象都復(fù)制一遍。
比如:
有一個(gè)A對(duì)象,經(jīng)過復(fù)制之后產(chǎn)生一個(gè)B對(duì)象,如果A里面有一個(gè)int型的變量i值為4,那么B對(duì)象里面
的inti的值也是4,A對(duì)這個(gè)int型變量的改變,不會(huì)影響B(tài),如果A里面有一個(gè)成員變量c是引用類型
的,它指向了對(duì)象D,經(jīng)過復(fù)制,B里面也會(huì)有一個(gè)c,這個(gè)c也指向D對(duì)象,A的c和B的c指向的是同一個(gè)
php通過文件流方式復(fù)制文件的方法?本文實(shí)例講述了php通過文件流方式復(fù)制文件的方法。分享給大家供大家參考。具體分析如下:php的stream_copy_to_stream()函數(shù)可以被用來將一個(gè)流中的數(shù)據(jù)復(fù)制到另一個(gè)。下面的代碼演示了通過流的方式復(fù)制文件的代碼<
?phpfunctionstream_copy($src,$dest){$fsrc=fopen($src,'r');$fdest=fopen($dest,'w+');$len=stream_copy_to_stream($fsrc,$fdest);fclose($fsrc);fclose($fdest);return$len;}?>希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。
PHP傳值,引用和傳址的區(qū)別?實(shí)參(被調(diào))、行參(主調(diào))
函數(shù)調(diào)用中發(fā)生的數(shù)據(jù)傳送是單向的。即只能把實(shí)參的值傳送給形參,而不能把形參的值反向地傳送給實(shí)參。 因此在函數(shù)調(diào)用過程中,形參的值發(fā)生改變,而實(shí)參中的值不會(huì)變化。
--傳值:
是把實(shí)參的值賦值給行參,相當(dāng)于復(fù)制一塊同樣的空間那么對(duì)行參的修改,不會(huì)影響實(shí)參的值
--傳地址:
是傳值的一種特殊方式,只是他傳遞的是地址,不是普通的如int那么傳地址以后,實(shí)參和行參都指向同一個(gè)對(duì)象--傳引用:
真正的以地址的方式傳遞參數(shù)
傳遞以后,行參和實(shí)參都是同一個(gè)對(duì)象,只是他們名字不同而已對(duì)行參的修改將影響實(shí)參的值
即傳址時(shí)只需在函數(shù)調(diào)用時(shí)在參數(shù)的前面加上"&"號(hào)即可。將函數(shù)外部的值的內(nèi)存地址傳遞給內(nèi)部的參數(shù),在函數(shù)內(nèi)部的所有操作都會(huì)改變函數(shù)外部參數(shù)的值。
值傳遞(passl-by-value): 壓棧的是參數(shù)的副本。任何的修改是在副本上作用,沒有作用在原來的變量上。
過程中:被調(diào)函數(shù)的形式參數(shù)作為被調(diào)函數(shù)的局部變量處理,即在堆棧中開辟了內(nèi)存空間以存放由主調(diào)函數(shù)放進(jìn)來的實(shí)參的值,從而成為了實(shí)參的一個(gè)副本。值傳遞的特點(diǎn)是被調(diào)函數(shù)對(duì)形式參數(shù)的任何操作都是作為局部變量進(jìn)行,不會(huì)影響主調(diào)函數(shù)的實(shí)參變量的值。
到此,以上就是小編對(duì)于“php復(fù)制值”的問題就介紹到這了,希望介紹關(guān)于“php復(fù)制值”的【3】點(diǎn)解答對(duì)大家有用。