变量的作用域是变量的一个作用范围,在这个范围内变量为可见的,即可以访问变量的代码区域,相反,如果不在这个范围内变量是不可见的,无法被调用。
##全局变量与局部变量
______________________________________________________________
当全局变量跟局部变量重名时候,如何区分呢?
对于全局变量,Zend引擎有一个_zend_executor_globals结构,该结构中的symbol_talbe就是全局符号表,其中保存了在顶层作用域中的变量。同样,函数或者对象的方法在被调用是会创建active_symbol_table来保存局部变量。当程序在顶层中使用某个变量时,ZE就会在symbol_table中进行遍历,同理,如果程序运行与某个函数中,Zend引擎会遍历查询与其对应的active_symbol_table,而每个函数的active_symbol_table是相对独立的,由此而实现的作用域的独立。
php初学者---千锋php课堂笔记