文章主要介紹了PHP物件相關知識總結的相關資料,需要的朋友可以參考下,就跟隨本站小編一起去了解下吧,想了解更多相關資訊請持續關注我們應屆畢業生考試網!
物件傳遞:一種說法是“PHP物件是通過引用傳遞的”,更準確的說法是別名(識別符號)傳遞,即它們都儲存著同一個識別符號(ID)的拷貝,這個識別符號指向同一個物件的真正內容。
<?php
class A {
public $foo = 1;
}
$a = new A;
$b = $a; // $a ,$b都是同一個識別符號的拷貝
// ($a) = ($b) = <id>
$b->foo = 2;
echo $a->foo."n";//2
$c = new A;
$d = &$c; // $c ,$d是引用
// ($c,$d) = <id>
$d->foo = 2;
echo $c->foo."n";//2
$e = new A;
function foo($obj) {
// ($obj) = ($e) = <id>
$obj->foo = 2;
}
foo($e);
echo $e->foo."n";//2
?物件複製:物件複製可以通過 clone 關鍵字來完成,如果原物件定義了 __clone() 方法,則新物件中的 __clone() 方法將在複製完後被呼叫,__clone() 方法可用於修改複製物件屬性的值。當物件被複制後,會對物件的所有屬性執行一個淺複製(shallow copy),但所有的引用屬性仍然會是一個指向原來的變數的引用。
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27