變量的作用域是變量的一個作用范圍伐厌,在這個范圍內(nèi)變量為可見的旗国,即可以訪問變量的代碼區(qū)域,相反蜕琴,如果不在這個范圍內(nèi)變量是不可見的萍桌,無法被調(diào)用。
##全局變量與局部變量
______________________________________________________________
當(dāng)全局變量跟局部變量重名時候凌简,如何區(qū)分呢上炎?
對于全局變量,Zend引擎有一個_zend_executor_globals結(jié)構(gòu)雏搂,該結(jié)構(gòu)中的symbol_talbe就是全局符號表藕施,其中保存了在頂層作用域中的變量。同樣凸郑,函數(shù)或者對象的方法在被調(diào)用是會創(chuàng)建active_symbol_table來保存局部變量裳食。當(dāng)程序在頂層中使用某個變量時,ZE就會在symbol_table中進(jìn)行遍歷芙沥,同理诲祸,如果程序運(yùn)行與某個函數(shù)中浊吏,Zend引擎會遍歷查詢與其對應(yīng)的active_symbol_table,而每個函數(shù)的active_symbol_table是相對獨(dú)立的救氯,由此而實現(xiàn)的作用域的獨(dú)立找田。
php初學(xué)者---千鋒php課堂筆記