中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

php變量的作用域是什么

發布時間:2020-10-15 16:10:23 來源:億速云 閱讀:154 作者:小新 欄目:編程語言

小編給大家分享一下php變量的作用域是什么,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

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

簡單來說有3種作用域:

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

  對應有3種變量:局部變量   全局變量      超全局變量

局部作用域和局部變量

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

  局部變量只能在其函數內部訪問。

  局部變量在函數調用結束時,會被自動銷毀(可以理解為函數執行結束,該執行空間也被銷毀了)。

  由此可見,函數外部不能訪問內部的局部變量。

靜態變量:一個特殊的局部變量

含義:

  在函數內部,使用static關鍵字修飾的變量。

形式:

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

靜態變量的特點:

  靜態局部變量的值不會在函數調用結束時被銷毀,而是會一直保留。

   對比:非靜態的局部變量在函數調用結束時就會被銷毀!

  也就是說,當再次調用函數時,該變量(的值)還能繼續使用。

全局作用域與全局變量

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

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

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

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

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

  實際上,只有有限的10來個系統預定義變量是超全局變量,包括:$_GET, $_POST, $_REQUEST等。

  所以,系統預定義變量,也被統稱為超全局變量。

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

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

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

比如:

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

$v1 = 1;   //這一行執行,就有了一個這個:$GLOBALS[‘v1’], 其值為1
$v2 = ‘abc’;  //這一行執行,就有了一個這個:$GLOBALS[‘v2’], 其值為’abc’
$v3 = true;  //這一行執行,就有了一個這個:$GLOBALS[‘v3’], 其值為true

作用:

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

演示如下:

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

一個特別的的關鍵字:global

作用:

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

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

  其作用類似:$GLOBALS

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

看完了這篇文章,相信你對php變量的作用域是什么有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

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

php
AI

武功县| 东源县| 罗平县| 确山县| 牟定县| 楚雄市| 夹江县| 迭部县| 石棉县| 全椒县| 通河县| 达尔| 蒙山县| 赣州市| 江阴市| 祁连县| 武城县| 渝中区| 胶南市| 清远市| 屯昌县| 潞城市| 洞头县| 石狮市| 新泰市| 宝清县| 西丰县| 嘉荫县| 前郭尔| 高要市| 兴化市| 手机| 尼玛县| 延川县| 曲阜市| 钟祥市| 宜丰县| 新绛县| 高陵县| 安福县| 彰化县|