概念

单一个global是一个关键字,通常附加在变量前,用于将变量声明至全局作用域;

$GLOBALS是预定义的超全局变量,把变量扔到里边的话一样可以带到全局去。

$GLOBALS 是一个关联数组,每一个变量为一个元素,键名对应变量名,值对应变量的内容。$GLOBALS 之所以在全局范围内存在,是因为 $GLOBALS 是一个超全局变量。

推荐:《PHP视频教程》

细节:PHP释放全局变量注意事项

global $var : 指函数外部同名变量的引用

$GLOBALS['var'] : 指函数外部变量本身

$a = 100;function one(){    global $a;    unset($a);}one();echo $a;// 输出 100/*******************************/$a = 100;function two(){    unset($GLOBALS['a']);}two();echo $a;// 输出 Notice: Undefined variable: a

global $var; 等价于 $var = &$GLOBALS['var'];

在函数内释放一个全局变量,应该这样:

unset($GLOBALS['var']);

而不能这样:

global $var; unset($var);
<?php$var = 'abc';$tmp = &$var;unset($tmp); //当你unset一个引用,只是断开了变量名和变量内容之间的绑定,这并不意味着变量内容被销毁了.echo $var; //输出abc

更多相关文章

  1. PHP变量的初始化以及赋值方式介绍
  2. PHP 闭包之变量作用域
  3. PHP 变量的四大作用域
  4. 关于php中变量的初始化以及赋值方式的介绍
  5. golang 发送post请求 其body中json对象使用变量作为value
  6. Java 多线程:volatile 变量、happens-before 关系及内存一致性
  7. Java 类的静态变量存放在哪块内存中?

随机推荐

  1. Android 通信录中的联系人操作
  2. Android SDK Tools R15 发布
  3. android 复制、粘贴文字
  4. android 新手学习笔记 点击事件
  5. Spinner下拉位置处理
  6. JAVA设计模式之Template method
  7. 教你如何用最新的技术快速开发一个完整的
  8. 【Android】性能分析工具:开篇
  9. Android 开发小经验
  10. recommend a book for android newcomer