欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          php變量的作用域

          php變量的作用域

          作用域(scope),程序設(shè)計概念,通常來說,一段程序代碼中所用到的名字并不總是有效/可用的,而限定這個名字的可用性的代碼范圍就是這個名字的作用域。下面我們就為大家介紹一下php變量的作用域。

          推薦教程:php入門視頻教程

          簡單來說有3種作用域:

            局部作用域 全局作用域 超全局作用域

            對應(yīng)有3種變量:局部變量 全局變量 超全局變量

          局部作用域和局部變量

            就是函數(shù)內(nèi)部的作用域范圍,其中的定義的變量就是局部變量(包括形參也是局部變量)。

            局部變量只能在其函數(shù)內(nèi)部訪問。

            局部變量在函數(shù)調(diào)用結(jié)束時,會被自動銷毀(可以理解為函數(shù)執(zhí)行結(jié)束,該執(zhí)行空間也被銷毀了)。

            由此可見,函數(shù)外部不能訪問內(nèi)部的局部變量。

          靜態(tài)變量:一個特殊的局部變量

          含義:

            在函數(shù)內(nèi)部,使用static關(guān)鍵字修飾的變量。

          形式:

            function  XXX( .... ){                             static  $s1 = 10;  //此時,$s1就是靜態(tài)變量                            ......                       }

          靜態(tài)變量的特點(diǎn):

            靜態(tài)局部變量的值不會在函數(shù)調(diào)用結(jié)束時被銷毀,而是會一直保留。

             對比:非靜態(tài)的局部變量在函數(shù)調(diào)用結(jié)束時就會被銷毀!

            也就是說,當(dāng)再次調(diào)用函數(shù)時,該變量(的值)還能繼續(xù)使用。

          全局作用域與全局變量

             就是函數(shù)外部范圍的作用域,其中定義的變量就是全局變量。

            全局變量只能在其所在的全局作用域中可以直接使用(訪問)。

          超全局作用域與超全局變量

            包括局部作用域和全局作用域的整個作用域范圍。

            超全局變量可以在所有范圍中使用(訪問)。

            實(shí)際上,只有有限的10來個系統(tǒng)預(yù)定義變量是超全局變量,包括:$_GET, $_POST, $_REQUEST等。

            所以,系統(tǒng)預(yù)定義變量,也被統(tǒng)稱為超全局變量。

          一個特別的超全局變量:$GLOBALS

            它也是一個數(shù)組,其中存儲了我們自己定義的所有全局變量。

             每個全局變量的變量名,就是$GLOBALS數(shù)組的一個單元。

          比如:

          在全局作用域中定義如下變量:

          $v1 = 1;   //這一行執(zhí)行,就有了一個這個:$GLOBALS[‘v1’], 其值為1 $v2 = ‘a(chǎn)bc’;  //這一行執(zhí)行,就有了一個這個:$GLOBALS[‘v2’], 其值為’abc’ $v3 = true;  //這一行執(zhí)行,就有了一個這個:$GLOBALS[‘v3’], 其值為true

          作用:

          可以讓我們在局部作用域范圍中,使用全局變量。

          演示如下:

           $v1 = 10;  //全局變量                function  func1(  ){                           echo  $GLOBALS[‘v1’]; //輸出10;                           echo  $v1;    //報錯:變量v1未定義                           $s1 = $GLOBALS[‘v1’] * 5; //結(jié)果為50;                          $s2 = $v1 * 5;    //報錯:變量v1未定義               }

          一個特別的的關(guān)鍵字:global

          作用:

             用于在局部作用域中,修飾一個跟全局變量同名的局部變量。

            此時該局部變量也可以使用全局變量的值了——實(shí)際上他們其實(shí)是類似變量引用關(guān)系。

            其作用類似:$GLOBALS

             $a = 10;       function sum(){           global $a ;  //全局變量的引用的別名           $a++;           $b = $a + 1;           echo $b;       }        sum(); //  12       echo $a ; //  11

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號