91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

PHP淺拷貝、深拷貝簡析

發布時間:2020-06-14 05:14:46 來源:網絡 閱讀:1032 作者:hgditren 欄目:web開發

前言:

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


簡述:       

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


實踐:


1.普通變量的深拷貝的實現  

//普通變量的深拷貝的實現
$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.普通變量的淺拷貝的實現

//普通變量的淺拷貝的實現
$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.對象深拷貝的實現

//對象深拷貝的實現
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.對象淺拷貝的實現 

//對象淺拷貝的實現
$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
 */

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


向AI問一下細節

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

AI

马鞍山市| 徐水县| 莱芜市| 昌乐县| 万盛区| 大邑县| 磴口县| 五指山市| 金门县| 博客| 江西省| 铜梁县| 白城市| 雷州市| 山丹县| 通辽市| 依安县| 丹江口市| 泸水县| 吴忠市| 平阴县| 梧州市| 江口县| 奇台县| 昭通市| 潼南县| 海阳市| 庆安县| 商南县| 卢氏县| 万载县| 福海县| 丰顺县| 隆化县| 长宁县| 榆树市| 曲麻莱县| 庆云县| 大姚县| 土默特右旗| 廉江市|