首頁 > 後端開發 > php教程 > php克隆的實作方法介紹(程式碼範例)

php克隆的實作方法介紹(程式碼範例)

不言
發布: 2023-04-05 10:46:02
轉載
2367 人瀏覽過

這篇文章帶給大家的內容是關於php克隆的實作方法介紹(程式碼範例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

前一段時間,看了Java中的物件克隆。感覺自己對於php中的物件克隆也不是很清楚,所以就做了一個小測試。程式碼如下

<?php

class A{
    public $value = 1;
}

class B{
    public $value = 1;
    public $a = null;

    public function __Construct(){
        $this->a = new A();
    }
}

$b = new B();
$d = 1;
$e = $d;
$e++;
echo "写时复制\n";
echo $d."\n";
echo $e."\n";

echo "------------------------------------\n";

$c = $b;
$c->a->value++;
$c->value++;

echo "对象中的对象变量\n";
echo $b->a->value."\n";
echo $c->a->value."\n";

echo "对象变量中的值变量\n";
echo $b->value."\n";
echo $c->value."\n";

echo "--------------------------------------\n";
$f = clone $b;
$f->value++;
$f->a->value++;

echo "对象变量中的值变量\n";
echo $b->value."\n";
echo $f->value."\n";

echo "对象中的对象变量\n";
echo $b->a->value."\n";
echo $f->a->value."\n";


?>
登入後複製

運行的結果如圖

php克隆的實作方法介紹(程式碼範例)

#和Java還是一致的,結論如下

**對於值變數而言,簡單的賦值是拷貝。
對於物件變數而言,簡單的賦值是引用。
對於物件變數而言,利用clone進行賦值,物件變數中的值變數是拷貝,物件變數中的物件變數還是引用。 **

以上是php克隆的實作方法介紹(程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:segmentfault.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板