首頁  >  文章  >  後端開發  >  PHP中創建類別的物件詳解

PHP中創建類別的物件詳解

小云云
小云云原創
2018-03-31 10:00:591339瀏覽

本文主要和大家分享PHP中創建類別的物件詳解,主要以文字和程式碼進行講解,希望能幫助大家。

PHP中物件的建立為:new 類別名稱;

Class A{
	public $p1=1;
}
$o1=new A();
var_dump($o1);

結果為:

##可以看出變數$o1是一個A類的物件類型。 「#1」是一個系統內部自訂的識別碼。

系統在創建時,變數$o1中儲存的其實是系統內部自訂的標識符#1,透過#1找到對應的物件實體(類似引用傳遞)。

將變數$o1賦值給$o2後,改變物件o1中所對應的p1值,此時o2中對應的p1值也隨之改變:

$o2=$o1;
$o1->p1=10;
echo "<br/>$o2->p1";
var_dump($o2);

#改變$o1中的屬性時,$o2中對應的屬性也會隨之改變。而o1和o2的各性質都相同(其實他們指向的是同一個對象)。

其真正的方式如圖所示:


而對於

引用傳值在類別物件中的應用:

Class A{
	public $p1=1;
}
$o1=new A();
$o2=&$o1;
$o1->p1=10;
echo $o1->p1;
echo "<br/>";
echo $o2->p1;
echo "<br/>";
var_dump($o1);
echo "<br/>";
var_dump($o2);

改變物件o1中的屬性p1時,o2中的屬性也隨之改變。並不像我們之前對於『值傳遞』和『引用傳遞的認知』。

其具體的實作方式為:


因此當unset($o1)後$o2還是存在的。

Class A{
	public $p1=1;
}
$o1=new A();
$o2=&$o1;
$o1->p1=10;
unset($o1);
echo $o1->p1;
echo "<br/>";
echo $o2->p1;
echo "<br/>";
var_dump($o1);
echo "<br/>";
var_dump($o2);

#

以上是PHP中創建類別的物件詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn