PHP中全局变量global和$GLOBALS[]的区别分析


Posted in PHP onAugust 06, 2012

一、举例比较
例一:

<?php 
$var1 = 1; 
function test(){ 
unset($GLOBALS['var1']); 
} 
test(); 
echo $var1; 
?>

因为$var1被删除了,所以什么东西都没有打印。
例二:
<?php 
$var1 = 1; 
function test(){ 
global $var1; 
unset($var1); 
} 
test(); 
echo $var1; 
?>

意外的打印了1。证明删除的只是别名引用,其本身的值没有受到任何的改变。

二、解释
global $var其实就是&$GLOBALS['var'],调用外部变量的一个别名而已。
上面代码中的$var1和$GLOBALS['var1']是指的同一变量,而不是两个不同的变量。
PHP的全局变量和C语言有一点点不同。在C语言中,全局变量在函数中主动生效,除非被局部变量笼罩。这可能引起一些问题,有些人可能漫不经心的转变一个全局变量。PHP中全局变量在函数中应用时必须用global申明为全局。
PHP的Global变量的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require的所有文件。

三、结论
1.$GLOBALS['var']是外部的全局变量本身
2.global $var是外部$var的同名引用或者指针。

PHP 相关文章推荐
用php写的serv-u的web申请账号的程序
Oct 09 PHP
提升PHP速度全攻略
Oct 09 PHP
关于页面优化和伪静态
Oct 11 PHP
PHP判断搜索引擎蜘蛛并自动记忆到文件的代码
Feb 04 PHP
eAccelerator的安装与使用详解
Jun 13 PHP
PHP编程中的常见漏洞和代码实例
Aug 06 PHP
PDO预处理语句PDOStatement对象使用总结
Nov 20 PHP
PHP数组实例详解
Jun 26 PHP
浅谈PHP正则中的捕获组与非捕获组
Jul 18 PHP
laravel 操作数据库常用函数的返回值方法
Oct 11 PHP
Thinkphp5.0 框架的请求方式与响应方式分析
Oct 14 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
Feb 21 PHP
php一个找二层目录的小东东
Aug 02 #PHP
PHP文章采集URL补全函数(FormatUrl)
Aug 02 #PHP
PHP服务器页面间跳转实现方法
Aug 02 #PHP
php中3des加密代码(完全与.net中的兼容)
Aug 02 #PHP
浏览器关闭后,能继续执行的php函数(ignore_user_abort)
Aug 01 #PHP
php读取文件内容至字符串中,同时去除换行、空行、行首行尾空格(Zjmainstay原创)
Jul 31 #PHP
单一index.php实现PHP任意层级文件夹遍历(Zjmainstay原创)
Jul 31 #PHP
You might like
NO3第三帝国留言簿制作过程
2006/10/09 PHP
Mysql和网页显示乱码解决方法集锦
2008/03/27 PHP
php自定义函数截取汉字长度
2014/05/15 PHP
codeigniter中实现一次性加载多个view的方法
2015/03/20 PHP
Yii2简单实现给表单添加验证码的方法
2016/07/18 PHP
php使用高斯算法实现图片的模糊处理功能示例
2016/11/11 PHP
Yii 框架入口脚本示例分析
2020/05/19 PHP
JS 学习笔记 防止发生命名冲突
2009/07/30 Javascript
Javascript面向对象编程(二) 构造函数的继承
2011/08/28 Javascript
jquery的$getjson调用并获取远程的JSON字符串问题
2012/12/10 Javascript
JS实现切换标签页效果实例代码
2013/11/01 Javascript
JS求平均值的小例子
2013/11/29 Javascript
浅谈js中变量初始化
2015/02/03 Javascript
JavaScript判断是否是微信浏览器
2016/06/13 Javascript
ionic实现滑动的三种方式
2016/08/27 Javascript
jquery使用iscorll实现上拉、下拉加载刷新
2017/10/26 jQuery
微信小程序实现滚动消息通知
2018/02/02 Javascript
基于Vue实现可以拖拽的树形表格实例详解
2018/10/18 Javascript
在node环境下parse Smarty模板的使用示例代码
2019/11/15 Javascript
jQuery实现数字华容道小游戏(实例代码)
2020/01/16 jQuery
Python建立Map写Excel表实例解析
2018/01/17 Python
Python3读取Excel数据存入MySQL的方法
2018/05/04 Python
python异步实现定时任务和周期任务的方法
2019/06/29 Python
PyQt+socket实现远程操作服务器的方法示例
2019/08/22 Python
在ipython notebook中使用argparse方式
2020/04/20 Python
Python命名空间namespace及作用域原理解析
2020/06/05 Python
Myholidays美国:在线旅游网站
2019/08/16 全球购物
出纳岗位职责模板
2013/11/27 职场文书
动物科学专业毕业生的自我评价
2013/11/29 职场文书
师德个人剖析材料
2014/02/02 职场文书
师德师风自我剖析材料
2014/09/27 职场文书
2014年银行柜员工作总结
2014/11/12 职场文书
2014年班组工作总结
2014/11/20 职场文书
2016年大学生暑期社会实践方案
2015/11/26 职场文书
SQL 窗口函数实现高效分页查询的案例分析
2021/05/21 SQL Server
我的收音机情缘
2022/04/05 无线电