首頁 > 後端開發 > php教程 > php變數範圍介紹

php變數範圍介紹

高洛峰
發布: 2023-03-02 19:04:01
原創
1114 人瀏覽過

例如: 
複製程式碼 程式碼如下: 
$a = 1; 
include 'b.inc'; 
?> 

這裡變數 $a 將會在包含檔案 b.inc 中生效。但是,在使用者自訂函數中,一個局部函數範圍將被引入。任何用於函數內部的變數按缺省情況將被限制在局部函數範圍內,此時為局部變數。 
   
  PHP 中全域變數在函數中使用時必須申明為global。 
  在函數中使用global宣告的變數即為全域變量,可在函數外使用。注意:global宣告變數時,不能直接對變數賦值,需要先宣告後賦值。 

  在全域範圍內,也可以透過$GLOBALS存取全域變量,在函數內不需要使用global關鍵字來存取全域變數了。 $GLOBALS 是一個關聯數組,每個變數為一個元素,鍵名對應變數名,值對應變數的內容。 $GLOBALS 之所以在全域範圍內存在,是因為 $GLOBALS 是一個超全域變數。 
  常數可以不用理會變數的作用域而在任何地方定義和存取; 

  變數範圍的另一個重要特性是靜態變數(static variable)。靜態變數僅在局部函數域中存在,但當程式執行離開此作用域時,其值並不會遺失。靜態變數僅在第一次呼叫時初始化,宣告時可以對其賦值,不能是表達式值。如果在宣告中以表達式的結果對其賦值會導致解析錯誤。 

  當把一個引用(帶上&的變數或物件)賦值給一個靜態變數時,引用並不是靜態地儲存的,第二次呼叫函數時靜態變數其值並沒有被記住。同樣,當把一個引用(帶上&的變數或物件)賦值給global變數時,此變數的變化對函數外不起作用,作用範圍只在該函數內。

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