1. 程式人生 > >PHP 物件的克隆(clone)與引用(=)的區別

PHP 物件的克隆(clone)與引用(=)的區別

如果有一個例項化的物件:Object1

那麼:

$Object2 = $Object1

$Object2 = clone $Object1

有什麼區別呢?

$Object2 = $Object1 是引用;

$Object2 = clone $Object1 是克隆;

引用就是:當改變$Object1物件時,$Object2也做相同的變化。

克隆就是:克隆的物件$Object1與原來的物件沒有任何關係,它是將原來的物件從當前位置從新複製了一份。

那麼在實際的開發當中怎麼判斷兩個物件之間的關係是克隆可是引用呢?

這時可以使用比較運算子“==”和"==="。兩個等號“==”是比較兩個物件的內容,三個等號“===”是比較物件的引用地址。

顯然,如果是引用的話,他們的引用地址應該是相同的。