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

溫馨提示×

溫馨提示×

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

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

(PHP學習筆記)我對PHP變量引用、對象引用的理解

發布時間:2020-09-30 06:54:21 來源:網絡 閱讀:1091 作者:w1sw 欄目:web開發

變量引用        

        我們可以知道在PHP中,變量以 $ 符號開頭,其后是變量的名稱。變量可以對一個內容進行引用,PHP 的引用允許你用兩個變量來指向同一個內容 。

        示例代碼如下:

<?php
$a = 1;          
$b = $a;       
echo '$a ='.$a.'; '.'$b = '.$b."\n".
$b = 2;
echo '$a ='.$a.'; '.'$b = '.$b."\n".

        輸出結果:

$a = 1;  $b = 1;
$a = 1;  $b = 2;

        $a將值賦給了$b,拷貝一份右邊的變量給b,會生成一份內存空間,結果可能是同樣的內容在內存中兩份。此時變量a與變量b同時指向同一個內容“1”,所以輸出結果均為“1”。當“$b = 2”語句執行時,將變量b改成指向了內容“2”,原變量a并無影響,只是變量b的指向發生了改變,所以輸出結果變量a無變化,變量b為“2”。

         下面來看另一種情況,示例代碼如下:

<?php
$c = 1;
$d = &$c;
echo '$c ='.$c.'; '.'$d = '.$d."\n".
$d = 2;
echo '$c ='.$c.'; '.'$d = '.$d."\n".

        輸出結果:

$c = 1;  $b = 1;
$c = 2;  $b = 2;

    $c將值賦給了$d的時候,加上了“&”符號,符號"&"表示引用。使用引用,php引擎不會拷貝一份變量,其實就是將指針指向了$a在內存中的地址,$b中就是保存了這個指針。對它們中的任意一個進行修改都會影響到其他變量,而刪除其中的一個變量,其他都會被作用到。


對象引用

        在說明對象的引用的時候,先插入一個概念(析構函數):析構函數會在到某個對象的所有引用都被刪除或者當對象被顯式銷毀時執行,釋放對象所占用的內存。下面來看看示例代碼:

    情況1:

<?php
class A{
    $name = "Jam";
} 
$b = new A(); 
$c = $b; 
echo $b->name;
echo $c->name;
$b->name = "Bob"; 
echo $c->name;
$b = null ;
$c = null ;    //此時調用析構函數
?>

    輸出結果:

Jam      Jam     Bob


     情況2:

<?php
class A{
    $name = "Jam";
} 
$b = new A(); 
$c = &$b; 
echo $b->name;
echo $c->name;
$b->name = "Bob"; 
echo $c->name;
$b = null ;    //此時調用析構函數
?>

    輸出結果:

Jam      Jam     Bob

        從情況1可以看出,$b 和 $c都可以調用函數A中的屬性,它們當中某一方都可以對屬性內容進行更改,在$b和$c都為空的時候,即沒有變量在引用對象了,此時會調用析構函數。在情況2中,在變量賦值時加入了&符號,意為復制出一個$c等同與$b,兩者為相等的關系。當其中一方為空時,另一方也會為空,此時調用析構函數。







        

向AI問一下細節

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

AI

石家庄市| 定南县| 犍为县| 海盐县| 惠州市| 南昌县| 伊金霍洛旗| 高雄县| 德格县| 邛崃市| 大悟县| 德令哈市| 义马市| 临夏市| 盐城市| 郴州市| 乌恰县| 梅河口市| 凤凰县| 宜州市| 彭阳县| 焉耆| 微山县| 宝兴县| 清水河县| 兴安盟| 浮山县| 称多县| 茶陵县| 太湖县| 徐水县| 察雅县| 平定县| 泾源县| 灵山县| 冀州市| 台北市| 炉霍县| 泸溪县| 乌什县| 扎兰屯市|