ホームページ >バックエンド開発 >PHPチュートリアル >关于 global 的疑问!解决办法

关于 global 的疑问!解决办法

WBOY
WBOYオリジナル
2016-06-13 10:25:15850ブラウズ

关于 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……
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。