php函數作用域
『壹』 如何正確理解php include作用域
希望對大家有所幫助。 由此例可看出: (1) 被包含文件的變數的PHP include作用域遵從包含文件所在處的作用域。即在函數里使用include將其他文件的變數包含進來,這些變數的作用域為該函數內。 (2) foo()函數外能列印出$color的值,並沒有違反(1)的規定。那是因為函數開始已經聲明$color為global (盡管foo()函數外並沒有$color變數,此時的$color變數並不是vars.php裡面的$color變數,而是一個強制聲明為全局的新變數,這時它還沒有被賦值,當下麵包含進vars.php後,根據(1)的原則,vars.php中的$color變數自動享有函數內的作用域,所以它的值就是全局變數$color的值) PHP include作用域2:函數、類的作用域代碼<?phpclassClassB{/***constructor*/publicfunction__construct(){}/***destructor*/publicfunction__destruct(){}publicfunctionprintit(){echo'printitinClassB./';}}functionshow_func_included(){echo'show_func_included/';}?<?phpfunctioninclude_class(){include('classb.php');}include_class();$objB=newClassB();$objB-printit();//printitinClassB. 所有在被包含文件中定義的函數和類在被包含後,在包含文件里都具有全局作用域(相當於把函數、類的代碼附加到包含文件的頭部。。。)。結論:1、被包含文件的變數的PHP include作用域遵從(不改變)包含文件所在處的作用域。2、所有在被包含文件中定義的函數和類在被包含後,在包含文件里都具有全局作用域