第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

我對PHP變量引用、對象引用的理解

標簽:
PHP

变量引用        

        我们可以知道在PHP中,变量以 $ 符号开头,其后是变量的名称。变量可以对一个内容进行引用,PHP 的引用允许你用两个变量来指向同一个内容 。

        示例代码如下:

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

        输出结果:

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

        $a将值赋给了$b,拷贝一份右边的变量给b,会生成一份内存空间,结果可能是同样的内容在内存中两份。此时变量a与变量b同时指向同一个内容“1”,所以输出结果均为“1”。当“$b = 2”语句执行时,将变量b改成指向了内容“2”,原变量a并无影响,只是变量b的指向发生了改变,所以输出结果变量a无变化,变量b为“2”。

         下面来看另一种情况,示例代码如下:

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

        输出结果:

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

    $c将值赋给了$d的时候,加上了“&”符号,符号"&"表示引用。使用引用,php引擎不会拷贝一份变量,其实就是将指针指向了$a在内存中的地址,$b中就是保存了这个指针。对它们中的任意一个进行修改都会影响到其他变量,而删除其中的一个变量,其他都会被作用到。


对象引用

        在说明对象的引用的时候,先插入一个概念(析构函数):析构函数会在到某个对象的所有引用都被删除或者当对象被显式销毁时执行,释放对象所占用的内存。下面来看看示例代码:

    情况1:


<?phpclass A{    $name "Jam";$b new A(); $c $becho $b->name;echo $c->name;$b->name = "Bob"echo $c->name;$b = null ;$c = null ;    //此时调用析构函数?>

    输出结果:


Jam      Jam     Bob


     情况2:


<?phpclass A{    $name "Jam";$b new A(); $c = &$becho $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,两者为相等的关系。当其中一方为空时,另一方也会为空,此时调用析构函数。


        

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優(yōu)惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消