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

溫馨提示×

溫馨提示×

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

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

php實現對象傳值方式的具體案例

發布時間:2020-07-09 11:01:54 來源:億速云 閱讀:132 作者:Leah 欄目:編程語言

今天就跟大家聊聊有關php實現對象傳值方式的具體案例,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

變量賦值與對象賦值對比

 <?php 
     // 聲明一個變量并賦值 
     $a = 1; 
     // 將數據類型的值 賦值 給一個變量 
     $b = $a; 
  
     // 修改$a的值 
     $a = 2; 
     // $a和$b是兩個獨立的內存空間修改其中一個另一個不受影響
     echo $b; // 1 
 
     class Person
    {
         public $name;
         public $age;
    }
     // 將對象類型的數據 賦值 給一個變量
     $p = new Person;
     // 通過對屬性修改值,來確定面向對象中 對象的傳值方式
     $p->name = 'jesse';
     // 若是成功修改值,則是引用傳值 
     echo $p->name; // jesse

 ?>

案例解釋:

在這里通過變量的賦值方式 與 對象的賦值方式方式相對比,代碼第5行中的賦值方式為“拷貝賦值”,故在修改其源值($a的值)的情況下,$b的值不受影響。$a與$b的內存關系圖如下:

php實現對象傳值方式的具體案例

而代碼20行將數據類型賦值給$p變量,通過$p修改對象內部的值成功,對比變量的傳值方式,證明這是引用傳值,內存關系圖如下:

php實現對象傳值方式的具體案例

而代碼20行將數據類型賦值給$p變量,通過$p修改對象內部的值成功,對比變量的傳值方式,證明這是引用傳值,內存關系圖如下:

<?php 
    class Person
    {
        public $name;
        public $age;
        // 將對象類型的數據 賦值 給一個變量
         $p = new Person;
         // 通過對屬性修改值,來確定面向對象中 對象的傳值方式
        $p->name = 'jesse';
        // 將對象賦予另一變量
        $m = $p;
        // 另一變量修改屬性值
        $m->name = 'Marry';
         // 輸出源變量 賦值變量訪問內部屬性的結果
        echo $p->name, $m->name;
    }
?>

第12行代碼為本篇文章的最“點睛”的代碼,等號右邊為是一個對象,左邊是一個變量,那么犀利的問題來了,$m是將對象拷貝一份?還是按引用傳遞呢?該代碼內存關系如下:

php實現對象傳值方式的具體案例

所以,最后兩個對象的屬性值均被修改為Marry!!!

那按引用傳值會是怎么個情況?

 <?php 
     class Person
     {
         public $name; 
         public $age; 
     } 
     // 將對象類型的數據 賦值 給一個變量 
     $p = new Person; 
     // 通過對屬性修改值,來確定面向對象中 對象的傳值方式
     $p->name = 'jesse';
     // 將對象賦予另一變量
     $m = &$p;
     // 另一變量修改屬性值
     $m->name = 'Marry';
     // 輸出源變量 賦值變量訪問內部屬性的結果
     echo $p->name, $m->name;
 ?>

php實現對象傳值方式的具體案例

看完上述內容,你們對php實現對象傳值方式的具體案例有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

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

AI

正镶白旗| 璧山县| 绍兴市| 邮箱| 三亚市| 建德市| 荆门市| 通榆县| 樟树市| 太保市| 忻城县| 迁安市| 攀枝花市| 遂宁市| 苏尼特右旗| 九江县| 吉木萨尔县| 酉阳| 武义县| 古丈县| 大足县| 邯郸县| 土默特左旗| 碌曲县| 高碑店市| 阿拉善左旗| 揭阳市| 平远县| 仁怀市| 鹤壁市| 龙口市| 曲沃县| 顺义区| 八宿县| 岳阳县| 桦川县| 呼和浩特市| 宽城| 孟州市| 阿巴嘎旗| 双柏县|