PHP 四種變數範圍比較

怪我咯
發布: 2023-03-10 20:24:02
原創
2133 人瀏覽過

PHP 是一種較為鬆散的語言( Loosely Typed Language ),當我們宣告一個變數時,不須指定變數的型別( type ),PHP 會自動根據指派給該變數的值來判斷該變數的類型。雖然在宣告變數時不須指定類型,但還有一項必須要指定的--變數的使用範圍( scope)。 PHP 有四種不同的使用範圍:local、global、static、parameter,以下將分別介紹。

局部變數 (local variable)
  在 function 中聲明, 只能在宣告的 function 中使用 (local scope)。不同的 function 中可宣告相同名稱的局部變數。
  在宣告變數function 結束時,局部變數也就不起作用了
  宣告時不需使用任何關鍵字(keyword)
$a = 5; // 全域變數
functionmyTest()
{echo $a; // 局部變數}
myTest();
  上例不會輸入任何內容,因為$a 在function 中未指定值。

全域變數 (global variable)
  在 function 外聲明,除了 function 中的 script無法存取外,整個網頁中的 script 都可以存取該變數( global scope )。若要在 function 中使用全域變量,需使用關鍵字 global,請參閱下例:
  在網頁關閉時,全域變數就不起作用了

$a = 5;
$b = 10;
functionmyTest()
{
global $a,$b;//注意这行
$b = $a +$b;
}
myTest();
echo $b;
登入後複製

  上例輸出 15。
global 變數一旦宣告之後,PHP 會將其放置在 $GLOBALS[index] 這個 array 中,其中 index 就是變數的名稱。我在可以從 function 內存取這個 array,也可以直接指定值給 array 中的某個元素來改變其值。我們將上例改寫如下:

$a = 5;
$b = 10;
functionmyTest()
{
$GLOBALS['b']= $GLOBALS['a'] + $GLOBALS['b'];
}
myTest();
echo $b;
登入後複製

  靜態變數(static variable)
  如前面所說,局部變數在函數結束時就會不起作用。不過有時候,當我們希望某局部變數不要因為函數結束而失效,我們可以在第一次宣告該區域變數前,加上關鍵字-- static。
static$rememberMe;
  如此一來,每次呼叫函數時,此變數都會包含上一次呼叫函數時所得到的值。
  要注意的是:靜態變數仍是一種局部變數。
  參數 (parameter,或稱為 argument)
  參數指的是一種呼叫函數時傳入的局部變數。其會在函數宣告時的參數列 (parameter list) 中被宣告。
functionmyTest($para1,$para2,...)//在小括號中宣告
{// 函數原始程式}


以上是PHP 四種變數範圍比較的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板