真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

PHP淺拷貝、深拷貝簡析

前言:

延平網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、成都響應式網(wǎng)站建設等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)公司于2013年創(chuàng)立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)公司。

        在PHP中, “=” 作為賦值符號,對于普通變量是深拷貝,對于對象來說是淺拷貝(對象的賦值是引用賦值)。
        注意:對象作為參數(shù)傳遞時,也是引用傳遞,無論函數(shù)定義時參數(shù)前面是否有&符號。


簡述:       

    *深拷貝:賦值時值完全復制,完全的copy,對其中一個作出改變,不會影響另一個.(一直在模仿,也可以超越。)    
    *淺拷貝:賦值時,引用賦值,相當于取了一個別名。對其中一個修改,會影響另一個.(命運共同體,一榮俱榮,一損俱損)


實踐:


1.普通變量的深拷貝的實現(xiàn) 

//普通變量的深拷貝的實現(xiàn)
$a='zhangsan';
$b=$a;
echo $a."\r\n";
echo $b."\r\n";


$b="lisi";
echo $a."\r\n";
echo $b."\r\n";

/**
 *輸出結果
 *zhangsan
 *zhangsan
 *
 *zhangsan
 *lisi
 **/

 結論:普通變量的賦值就是深拷貝


2.普通變量的淺拷貝的實現(xiàn)

//普通變量的淺拷貝的實現(xiàn)
$c="wangwu";
$d=&$c;
echo $c."\r\n";
echo $d."\r\n";

echo "\r\n";

$d="xiaoer";
echo $c."\r\n";
echo $d."\r\n";

/**輸出結果
 *wangwu
 *wangwu
 *   
 *xiaoer
 *xiaoer
 **/

結論:普通變量的引用賦值是深拷貝

3.對象深拷貝的實現(xiàn)

//對象深拷貝的實現(xiàn)
class Person{
    public $name;
}

$zhangsan=new Person();
$zhangsan->name='zhangsan';

$lisi=$zhangsan;

echo $zhangsan->name."\r\n";
echo $lisi->name."\r\n";

echo "\r\n";

$lisi->name='lisi';
echo $zhangsan->name."\r\n";
echo $lisi->name."\r\n";

/**輸出結果
 *zhangsan
 *zhangsan
 *
 *lisi
 *lisi
 */

結論:對象的賦值是深拷貝

4.對象淺拷貝的實現(xiàn) 

//對象淺拷貝的實現(xiàn)
$JackMa=new Person();
$JackMa->name='Ma Yun';

$PoneyMa=clone $JackMa;
echo $JackMa->name."\r\n";
echo $PoneyMa->name."\r\n";

echo "\r\n";

$PoneyMa->name='Ma Huateng';
echo $JackMa->name."\r\n";
echo $PoneyMa->name."\r\n";

/**輸出結果
 *Ma Yun
 *Ma Yun
 *
 *Ma Yun
 *Ma Huateng
 */

結論:對象的克隆是淺拷貝


文章題目:PHP淺拷貝、深拷貝簡析
網(wǎng)頁URL:http://weahome.cn/article/jcdpio.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部