Heim >Backend-Entwicklung >PHP-Tutorial >关于 global 的疑问!解决办法

关于 global 的疑问!解决办法

WBOY
WBOYOriginal
2016-06-13 10:25:15848Durchsuche

关于 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所有的变量都有可能成为全局变量
------解决方案--------------------

探讨
我发现很多程序包括dede 这种,都喜欢在一个函数里声明一个 global 的变量,但是我找遍了整个站点,也没见外部定义过的同名全局变量,

例如以下例子:


function SetVar($k,$v)
{
global $_vars;
if(!isset($_vars[$k]))
{
$_vars[$k] = $v;
}
}

function GetVar($k……
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn