关于 global 的疑问!解决办法
程序员文章站
2022-04-28 18:51:46
...
关于 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)
{
global $_vars;
return isset($_vars[$k]) ? $_vars[$k] : '';
}
这里 $_vars; 在 SetVar 函数里第一次定义, 是否意味着,这里就已经定义了一个全局变量,然后下面的 GetVar 函数
的 $_var 和其他地方的 $_var 都是这同一个 全局变量?
这么做有什么意义?
------解决方案--------------------
global时候如果这个变量不在是会创建为全局变量的。
------解决方案--------------------
就是把一个变量申明为全局的,整个项目在运行中这个变量自始至终都保持唯一性!
------解决方案--------------------
通常都定义在入口页面或者变量统一定义的页面。
这是声明,不是定义。php所有的变量都有可能成为全局变量
------解决方案--------------------
相关文章
相关视频
上一篇: php截取特定段落如何操作
下一篇: PHP 页面重定向的问题
推荐阅读
-
关于pycharm中缩进、粘贴复制等文本编辑功能部分失效的解决办法
-
关于JSP的一点疑问小结
-
关于HTML5 Placeholder新标签低版本浏览器下不兼容的问题分析及解决办法
-
关于系统重装后Oracle数据库完全恢复的解决办法
-
php下关于Cannot use a scalar value as an array的解决办法
-
关于webpack打包报错Chunk.entrypoints:UseChunks.groupsIterableandfilterbyinstanceofEntrypointinstead的解决办法
-
关于“关于C#装箱的疑问”帖子的个人看法 (原发布csdn 2017年10月07日 10:21:10)
-
关于pycharm中输出的内容不全的解决办法
-
关于PHP中拿到MySQL中数据中的中文在网页上显示为?的解决办法!
-
IOS开发关于SDWebImage无法获取HTTPS站点的图片和解决办法