资讯专栏INFORMATION COLUMN

PHP中global与$GLOBALS的区别

RaoMeng / 1791人阅读

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

概念

单一个global是一个关键字通常附加在变量前,用于将变量声明至全局作用域
$GLOBALS是预定义的超全局变量,把变量扔到里边的话一样可以带到全局去。

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

细节: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);

           
               
                                           
                       
                 

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22629.html

相关文章

  • PHP引用传递+unset+global理解,希望大神指正

    摘要:即产生了相当于这样的效果,所以改变的值也同时改变了的值。不要用返回引用来增加性能,引擎足够聪明来自己进行优化。只能从函数返回引用变量没别的方法。 关键是对global的误解,之前以为在函数中global变量,就是把函数外部的变量拿进函数内部使用,但似乎我错了引用传递+unset+global理解 php的引用(就是在变量、函数、对象等前面加上&符号)在PHP中引用的意思是:不同的名字访...

    ConardLi 评论0 收藏0
  • PHP7扩展开发(二):配置项全局数值

    摘要:起步引擎提供了另种管理设置值的途径。假设我们需要为我们扩展定义一个值并用函数返回它的内容。在为了避免命名空间的冲突,我们扩展的名字作为所有值的前缀。仅仅是一种约定,一个句点用来分隔扩展名和说明性的初始设定名字。 起步 Zend引擎提供了另种管理设置值(INI)的途径。现在弄个简单的,我们经常看到php.ini里有诸如 display_errors = On 这样的全局设置。假设我们需要...

    Mr_houzi 评论0 收藏0
  • PHP7源码分析】PHP$_POST揭秘

    摘要:和进程的启动过程类似,启动过程有种进程角色启动进程进程和进程。直到请求到来,将连接赋值给对象的字段。注当进程执行完后会再次调用函数,准备监听新的请求。当读取到的时,会调用函数对进行解析,将中的以及存储到结构体中。 运营研发团队 季伟滨 一、前言 前几天的工作中,需要通过curl做一次接口测试。让我意外的是,通过$_POST竟然无法获取到Content-Type是application...

    sf190404 评论0 收藏0
  • PHP高级语法总结

    摘要:一执行系统外部命令输出并返回最后一行结果。相同点都可以获得命令执行的状态码用提供的专门函数提供共了个专门的执行外部命令的函数,,。第二个参数是可选的,用来得到命令执行后的状态码。 php高级语法总结。 一、执行系统外部命令 system() 输出并返回最后一行shell结果。 exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。 pass...

    Hydrogen 评论0 收藏0
  • PHP预定义变量】$_GET,$_POST,$_REQUEST生成

    摘要:的预定义变量和,这些变量的生成过程。主要是由于之前看到一篇文章通过构造冲突实现各种语言的拒绝服务攻击。其中看似是相当于注册声明对应的预定义变量名,而才是真正的将值写入到和变量中的操作。提交最大变量数限制,中做限制,参考资料 PHP的预定义变量:$_SERVER,$_POST,$_GET,$_COOKIE,$_ENV,$_FILES和$_REQUEST,这些变量的生成过程。主要是由于之前...

    Aceyclee 评论0 收藏0

发表评论

0条评论

RaoMeng

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<