位置: 编程技术 - 正文
推荐整理分享PHP全局变量与超级全局变量区别分析(php全局变量和局部变量),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:php中全局变量引入函数的三种方式,php全局变量作用域,php全局变量与超变量关系,php全局变量与超变量关系,php全局变量和局部变量,php全局变量与超范围变量,php全局变量与超范围变量,php全局变量与超范围变量,内容如对您有帮助,希望把文章链接给更多的朋友!
本文分析了PHP全局变量与超级全局变量区别。分享给大家供大家参考,具体如下:
全局变量就是在函数外面定义的变量。不能在函数中直接使用。因为它的作用域不会到函数内部。所以在函数内部使用的时候常常看到类似global $a;
超全局变量作用域在所有脚本都有效。所以,在函数可直接使用。比如 $_GET,$_SERVER都是超全局变量。除$_GET,$_POST,$_SERVER,$_COOKIE等之外的超全局变量保存在$GLOBALS数组中。注意,不要误写成$_GLOBALS。有点受到$_POST的影响了。
$GLOBAL是一个特殊的php自定义的数组。超级全局变量。跟$_SERVER一样,都属于超全局变量。
在手册中搜索$GLOBALS 就能查询超全局变量的具体说明和使用方法
变量名就是该数组的索引。 说明:使用$GLOBALS['a']定义一个超全局变量后。可以使用$a直接访问
手册中这样解释的:
$GLOBALS — References all variables available in global scope 引用所有在全局范围内的可用的变量
结合例子这样理解:假如在函数外面定义了一个变量$a。那么在函数中可用通过$GLOBALS['a']获取到这个变量的值。所以,$GLOBALS数组里面就是:用户定义的所有全局变量。
为什么称它为超级全局变量。对比$_POST,在函数里面可用直接使用。根本不需要使用global语句了。所以$GLOBALS也是这样的原理,只是$_POST保存是post方式传递的变量。$GLOBALS保存的是用户定义的全局变量。
个人理解:
之前对超级全局变量理解不对:超级全局变量在所有脚本下有效,这样表述导致了理解上细微的偏差。如果在所有脚本下有效,那么是不是$GLOBALS保存的超级全局变量,在一个php文件中定义后,在另一个文件中还能获取到。
显然不会是这样的。估计受到了$_POST的影响,因为它好像所有人都能去访问到。没有意识到,你只能访问到当前处理到的$_POST数据。不可能两个人同时提交留言,php文件获取到post的数据怎么区别。这个数据只能是当前线程的。最后,超级全局变量可以这样看,因为它是相对于全局变量而言的。比全局变量更一个层次,全局变量不能作用到函数内部。它就解决了这个问题。在其他语言中,全局变量都能作用到函数内部。php语言设计就不是这样的。
全局变量直接在函数内使用,那么总得提供一种变量能直接使用的吧。就出来了超级全局变量的概念。
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php操作office文档技巧总结(包括word,excel,access,ppt)》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
PHP使用SOAP扩展实现WebService的方法 本文实例讲述了PHP使用SOAP扩展实现WebService的方法。分享给大家供大家参考,具体如下:最近在一个PHP项目中对接外部接口涉及到WebService,搜索引擎上
详解PHP的Yii框架中扩展的安装与使用 扩展是专门设计的在Yii应用中随时可拿来使用的,并可重发布的软件包。例如,yiisoft/yii2-debug扩展在你的应用的每个页面底部添加一个方便用于调试的
PHP递归实现层级树状展开 本文实例为大家分享了PHP递归实现层级树状展开的主要代码,供大家参考,具体内容如下效果图:实现代码:php$db=mysql_connect('localhost','root','root')ordie('Ca
标签: php全局变量和局部变量
本文链接地址:https://www.jiuchutong.com/biancheng/293335.html 转载请保留说明!上一篇:PHP计算数组中值的和与乘积的方法(array_sum与array_product函数)(php计算数组中值怎么算)
下一篇:PHP使用SOAP扩展实现WebService的方法(php solr)
友情链接: 武汉网站建设