PHP面向對象——clone關鍵字

clone關鍵字用於克隆對象,克隆完的對象和源對象保持獨立,對該對象的所做的修改不會影響源對象。賦值引用的方式產生的對象和源對象指向的同一個內存地址,所以對新對象所做的修改會影響到源對象,舉例:

<?php
class NbaPlayer{
	public $name = '';
}

$james = new NbaPlayer();

$james->name = 'james';
echo 'james`s name is '.$james->name.'<br>';
$james2 = clone $james;//克隆
$james2->name = 'james2';
echo 'after clone :<br>';
echo 'james`s name is '.$james->name.'<br>';
echo 'james2`s name is '.$james2->name.'<br>';
$james3 = $james;	   //賦值
$james3->name = 'james3';
echo 'after assign:<br>';
echo 'james`s name is '.$james->name.'<br>';
echo 'james3`s name is '.$james3->name.'<br>';

運行後結果:

james`s name is james
after clone :
james`s name is james
james2`s name is james2
after assign:
james`s name is james3
james3`s name is james3

發佈了36 篇原創文章 · 獲贊 4 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章