变量作用域所谓变量作用域(variable?scope),是指特定变量在代码中可以被访问到的位置。在?PHP?中有?6?种基本的变量作用域法则。(1)内置超全局变量(Built-in?superglobal?variables),在代码中的任意位置都可以访问到。(2)常数(constants),一旦声明,就是全局性的,可以在函数内外使用。(3)全局变量(global?variables),在代码间声明,可在代码间访问,但是不能在函数内访问。(4)在函数中声明为全局变量的变量就是同名的全局变量。(5)在函数中创建和声明为静态变量的变量在函数外是无法访问的,但是这个静态变量的值可以保留。(6)在函数中创建和声明的局部变量在函数外是无法访问的,并且在本函数终止时失效。 超全局变量 这种变量的特性是,不管在程序的任何地方都可以访问到,不管是函数内还是函数外都可以访问到 全局变量 全局变量其实就是在函数外声明的变量,在代码间都可以访问,但是在函数内是不能访问的。这是因为函数默认不能访问在其外部的全局变量。如果想让函数访问某个全局变量,可以在函数中通过?global?关键字来声明,就是要告诉函数,它要调用的变量是一个已经存在或者即将创建的同名全局变量,而不是默认的本地变量。 ???$room?=?20?//?定义全局变量????????? function?showrooms(){?global?$room?//函数内调用全局变量?????????????echo?$room.『间新房间。<br?/>』;?}????????showrooms();???????? echo?$room.『间房间。』;???????> 另外,读者还可以通过「超全局变量」中的?$GLOBALS?数组进行访问。 <?php???$room=20;?//?定义全局变量?????????function?showrooms(){??$room?=?$GLOBALS[『room』];?????????//?通过?$GLOBALS?数组访问全局变量?
静态变量 静态变量只是在函数内存在,在函数外无法访问。但是执行后,其值保留,也就是说这一次执行完毕后,静态变量的值保留,下一次再执行此函数,这个值还可以调用。 ?
|