91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在php中實現對象引用和復制

發布時間:2021-06-07 16:47:44 來源:億速云 閱讀:190 作者:Leah 欄目:開發技術

這期內容當中小編將會給大家帶來有關怎么在php中實現對象引用和復制,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

引用

$tv2 = $tv1;

或者

$tv2 = &$tv1;

以上兩種方式,效果是一樣的。可以理解為linux里面的硬鏈接。

克隆(淺復制)

$tv2 = clone $tv1;

“淺復制”:被復制對象的所有變量都含有與原來的對象相同的值,而所有的對其他對象的引用都仍然指向原來的對象。也就是說,淺復制僅僅復制所考慮的對象,而不復制它所引用的對象。

深復制

$tv4 = unserialize(serialize($tv1));

相對于“淺復制”,當然也有一個“深復制”:被復制的對象的所有的變量都含有與原來的對象相同的值,除去那些引用其他對象的變量。也就是說,深復制把要復制的對象所引用的對象都復制了一遍。

代碼示例

<?php
header("Content-type:text/html;charset=utf-8");
class TvControl{
}
class Tv{
  private $color;
  private $tvControl;
  function __construct(){
    $this->color = "black";
    $this->tvControl = new TvControl();
  }
  function setColor($color){
    $this->color = $color;
  }
  function getColor(){
    return $this->color;
  }
  function getTvControl(){
    return $this->tvControl;
  }
}
$tv1 = new Tv();
$tvControl1 = $tv1->getTvControl();
echo "原始類:";
var_dump($tv1);
echo "<hr/>";
$tv2 = $tv1;
echo "引用類:";
var_dump($tv2);
echo "<hr/>";
$tv3 = clone $tv1;
echo "克隆(淺復制):";
var_dump($tv3);
echo "<hr/>";
$tv4 = unserialize(serialize($tv1));
echo "深復制:";
var_dump($tv4);

輸出結果:

原始類:
object(Tv)[1]
  private 'color' => string 'black' (length=5)
  private 'tvControl' =>
    object(TvControl)[2]
引用類:
object(Tv)[1]
  private 'color' => string 'black' (length=5)
  private 'tvControl' =>
    object(TvControl)[2]
克隆(淺復制):
object(Tv)[3]
  private 'color' => string 'black' (length=5)
  private 'tvControl' =>
    object(TvControl)[2]
深復制:
object(Tv)[4]
  private 'color' => string 'black' (length=5)
  private 'tvControl' =>
    object(TvControl)[5]

上述就是小編為大家分享的怎么在php中實現對象引用和復制了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

尤溪县| 漳平市| 大连市| 高安市| 卓资县| 志丹县| 昭苏县| 潞城市| 咸宁市| 武夷山市| 周至县| 旌德县| 南投县| 五寨县| 松滋市| 奉新县| 龙南县| 锡林浩特市| 庆安县| 新邵县| 徐汇区| 黄浦区| 东丽区| 青川县| 红安县| 运城市| 曲水县| 武义县| 黔东| 老河口市| 武川县| 莒南县| 陕西省| 克东县| 潢川县| 罗城| 松溪县| 柳州市| 德清县| 商水县| 巫山县|