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

php语法中,很多人都认为global和$GLOBALS[]只是写法上面的差别,其实不然
根据官方的解释是

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

举例说明一下:

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

正常打印结果为1

<?php$var1 = 1;$var2 = 2;function test(){global $var1,$var2;$var2 = &$var1;}test();echo $var2;
?>

意外打印结果为2

为什么会打印结果为2呢?其实就是因为$var1的引用指向了$var2的引用地址。导致实质的值没有改变。
我们再来看一个例子吧。

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

点击阅读全文

更多参考:

变量范围

PHP: extract 将数组array的key变为变量 ( extract函数的定义和用法 )

HP7革新与性能优化

JQuery: 使用Ajax赋值给全局变量失败异常的解决方法,ajaxSetup, jquery ajax global

本文转自:PHP: 关键字global 和 超全局变量$GLOBALS的用法、解释、区别

PHP: 关键字global 和 超全局变量$GLOBALS的用法、解释、区别相关推荐

  1. php中全局变量global和超全局变量$GLOBALS

    php中全局变量global和超全局变量$GLOBALS 1.global Global的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require ...

  2. php的globle超全局变量,php中全局变量global和超全局变量$GLOBALS

    php中全局变量global和超全局变量$GLOBALS 1.global Global的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require ...

  3. 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第40讲:PHP中预定义超全局变量

    陈力:传智播客古代 珍宝币 泡泡龙游戏开发第40讲:PHP中预定义超全局变量 超全局变量是在全部作用域中始终可用的内置变量.PHP 中的许多预定义变量都是"超全局的".PHP供提供 ...

  4. php global 作用,PHP关键字global在定义变量中的作用_PHP教程

    我们在使用 PHP关键字global如果用在function内部,则说明这个function内用的这个变量是全局的,全局变量就是在整个页面里都能起作用.例如 $conf=1; function con ...

  5. php $globa作用是l,php 关键字global在定义变量中的作用

    PHP关键字global如果用在function内部,则说明这个function内用的这个变量是全局的,全局变量就是在整个页面里都能起作用.例如$conf = 1; function conf_tes ...

  6. php代码审计2全局变量和超全局变量

    全局变量: 就是在函数外面定义的变量,不能在函数中直接使用,因为它的作用域不会到函数内部,所以在函数内部使用的时候尝尝看到类似global $a; 超全局变量: 在所有脚本都有效,所以,在函数可以直接 ...

  7. php globals的用法,php global用法/php global 变量/$globals php

    php global用法/php global 变量/$globals php 最近在研究PHP,期间遇到了global和$GBLOBALS,网上找到的一些资料大多相同,连例子都一样,学习完后,还是一 ...

  8. php中区分大小写的超全局变量总结

    平时写程序,用$_POST[]都是大写,而今天在写一个搜索程序的时候把大写弄成了小写,就出现了无论如何都提交不了内容的情况.看来,在php中对于一些超全局变量是区分大小写的.下面总结一些区分大小的超全 ...

  9. Python3 关键字nonlocal和global的用法与区别

    关键字nonlocal 在Python 2.x中,闭包只能读外部函数的变量,而不能改写它. 为了解决这个问题,Python 3.x引入了nonlocal关键字,在闭包内用nonlocal声明变量,就可 ...

最新文章

  1. @Profile 根据不同环境注入bean
  2. 线程同步monitor
  3. oracle 选择最频繁出现之前,5文章数据
  4. bmw info source
  5. mysql 横向排列,mysql横向转纵向、纵向转横向排列的方法
  6. java和C和C++关系
  7. IS-IS详解(七)——IS-IS LSP报文详解
  8. STL总结之list
  9. linux安装jdk(二)
  10. 论文的重复率修改方法
  11. 第5章 ◄数组与字符串►
  12. Raspberry-Pi-PICO系列--第八篇 高级篇使用SWD接口下载和调试(第一章)
  13. mybatis case when
  14. 回忆录——一份曾经面试“网易AI产品经理”的作品
  15. Arduino与Proteus仿真实例-I2C总线多个M24C01设备数据储存仿真
  16. 为什么使用 LinkedIn 进行联盟营销活动?
  17. 解决 Macbook 连接蓝牙鼠标卡顿问题
  18. 程序员专属对联,句句扎心
  19. elasticsearch-java客户端测试
  20. ARM学习知识整理day1

热门文章

  1. 信息学奥赛一本通(2024:【例4.10】末两位数)
  2. 图论 —— 生成树 —— 最小瓶颈路
  3. 超级楼梯(HDU-2040)
  4. android 蓝牙通知,android – 蓝牙低能耗通知
  5. 哪些集合不能使用迭代器_Rust能力养成之(6):集合体与迭代器
  6. 一起学习C语言:结构体(二)
  7. pytorch学习2:pytorch搭建Alexnet网络
  8. Pytorch之Variable与tensor--它封装了Tensor,并整合了反向传播的相关实现,像装糖果(糖果就是数据即tensor)的盒子
  9. 3-4numpy聚合操作和arg(索引)运算和排序
  10. 上海c语言做游戏培训,0基础C语言游戏逆向课程,培训视频+项目实战