global全局变量与$GLOBALS全局范围内访问变量
时间:2010-06-17 来源:本站原创 作者:yuge 浏览次数:
或许有的人总想知道这个或那个的区别:在php程序,包括其他程序的学习中,自己动手实验,根据结果加上的思考,有的时候比上网查找可能会来得更快一些,更准确一些。
下面我们来讲一下,php在全局范围内访问变量要怎么办?
例一:global定义全局变量。
function test_global()
{
global $var1;
$var1='ok';
unset($var1);
}
test_global();
$var2=&$var1;
unset($var1);
echo $var2;
先不给出结果,自己运行一下程序。
函数内部的变量可以访问到了。
从结果可以看出,unset只是断开变量名与变量值连接,并没有马上销毁变量的值,
而且在函数内部定义的全局变量,实际在外部只是使用了函数内部的别名而已,所以我们
在外面依然可以访问$var1。
例二:$GLOBALS在函数内部访问函数外面定义的变量。
$waibu='out';
$waibu='out';
function ff()
{
echo $GLOBALS['waibu'];
}
ff();
直接在函数内部使用$waibu是会出错的。
版权归原作者所有,内容仅供参考学习,不得用于商业用途。