在使用变量时,一定要符合变量的规则。变量必须在有效范围内使用,如果变量超出有效范围,就失去其意义了。变量范围有如下三种:
1)局部变量:即在函数的内部定义的变量,其作用域是所在函数。
2)全局变量:即被定义在所有函数以外的变量,其作用域是整个PHP文件,但是在用户自定义函数内部是不可用的。想在用户自定义函数内部使用全局变量,要使用global关键词声明。
3)超级变量:在任何位置都可用的特定数量的变量,并且可以从脚本的任何位置访问它们。
下面来看一个代码,以帮助读者更好地理解变量的范围,其代码如下:
这段代码不会有任何输出,因为echo语句引用了一个局部版本的变量$a,而且在这个范围内,它并没有被赋值。你可能注意到PHP的全局变量和C语言有一点不同。因为在C语言中,全局变量在函数中自动生效,除非被局部变量覆盖。这可能引起一些问题,有些人可能漫不经心地改变一个全局变量。PHP中全局变量在函数中使用时必须申明为全局。
实例8:访问全局变量
在局部范围内访问全局变量时,需要使用一个关键字,下面通过一个代码来演示此功能,其代码【光盘:源代码/第3章/bian.php】如下:
(www.xing528.com)
将上述代码文件保存到服务器的环境下,运行浏览后得到如图3-6所示的结果。
图3-6 变量
多学一招
除了上面方法可以访问全局变量之外,用户还可以通过$GLOBALS['b']方式访问全局变量,$GLOBALS之所以在全局范围内存在,是因为$GLOBALS是一个超全局变量,请看下面的代码【光盘:源代码/第3章/bian1.php】:
上面的程序运行后,得到的效果和实例中的效果一样,这就是超全局变量的魅力。再看下面的一段代码,让读者对超全局变量有更深层次的理解。其代码【光盘:源代码/第3章/bian2.php】如下:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。