那到底定义全局变量有什么作用? test1.php: <? global $var1,$var2; $var1 = "test"; $var2 = "test"; ?> test2.php: <? include "test1.php"; ?>如果去掉global $var1,$var2;这一行,效果没什么不同啊。
global 是为了在函数中能够定义全局变量 如 function aaa() { global $var1='test1'; } 这样你在函数外面也可以访问该变量,如果不加global,那么变量会在函数结束后失效;
以前没有$_SERVER,$_POST,$_GET等自动全局变量的时候 用长数组定义的全局变量(如$HTTP_SERVER_VARS)并不能在函数中使用 要使用就要加上global来使用 function aaa() { global $HTTP_SERVER_VARS; } 这样才能使用该变量,现在使用$_SERVER的时候就不用加global,因为它是自动全局变量(或叫超全局变量)
$var2=3;function a(){
global $var1,$var2;
echo "$var1 <BR>$var2";
}要在页面间定义共享变量,要用session或cookie
test1.php:
<?
global $var1,$var2;
$var1 = "test";
$var2 = "test";
?>
test2.php:
<?
include "test1.php";
?>如果去掉global $var1,$var2;这一行,效果没什么不同啊。
如
function aaa()
{
global $var1='test1';
}
这样你在函数外面也可以访问该变量,如果不加global,那么变量会在函数结束后失效;
用长数组定义的全局变量(如$HTTP_SERVER_VARS)并不能在函数中使用
要使用就要加上global来使用
function aaa()
{
global $HTTP_SERVER_VARS;
}
这样才能使用该变量,现在使用$_SERVER的时候就不用加global,因为它是自动全局变量(或叫超全局变量)