关于 global 的疑问!
我发现很多程序包括dede 这种,都喜欢在一个函数里声明一个 global 的变量,但是我找遍了整个站点,也没见外部定义过的同名全局变量,
例如以下例子:
function SetVar($k,$v)
{
global $_vars;
if(!isset($_vars[$k]))
{
$_vars[$k] = $v;
}
}
function GetVar($k)
{
global $_vars;
return isset($_vars[$k]) ? $_vars[$k] : '';
}
这里 $_vars; 在 SetVar 函数里第一次定义, 是否意味着,这里就已经定义了一个全局变量,然后下面的 GetVar 函数
的 $_var 和其他地方的 $_var 都是这同一个 全局变量?
这么做有什么意义?
------解决方案--------------------global时候如果这个变量不在是会创建为全局变量的。
------解决方案--------------------就是把一个变量申明为全局的,整个项目在运行中这个变量自始至终都保持唯一性!
------解决方案--------------------通常都定义在入口页面或者变量统一定义的页面。
这是声明,不是定义。php所有的变量都有可能成为全局变量
------解决方案--------------------