PHP: 关键字global 和 超全局变量$GLOBALS的用法、解释、区别
$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的用法、解释、区别相关推荐
- php中全局变量global和超全局变量$GLOBALS
php中全局变量global和超全局变量$GLOBALS 1.global Global的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require ...
- php的globle超全局变量,php中全局变量global和超全局变量$GLOBALS
php中全局变量global和超全局变量$GLOBALS 1.global Global的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require ...
- 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第40讲:PHP中预定义超全局变量
陈力:传智播客古代 珍宝币 泡泡龙游戏开发第40讲:PHP中预定义超全局变量 超全局变量是在全部作用域中始终可用的内置变量.PHP 中的许多预定义变量都是"超全局的".PHP供提供 ...
- php global 作用,PHP关键字global在定义变量中的作用_PHP教程
我们在使用 PHP关键字global如果用在function内部,则说明这个function内用的这个变量是全局的,全局变量就是在整个页面里都能起作用.例如 $conf=1; function con ...
- php $globa作用是l,php 关键字global在定义变量中的作用
PHP关键字global如果用在function内部,则说明这个function内用的这个变量是全局的,全局变量就是在整个页面里都能起作用.例如$conf = 1; function conf_tes ...
- php代码审计2全局变量和超全局变量
全局变量: 就是在函数外面定义的变量,不能在函数中直接使用,因为它的作用域不会到函数内部,所以在函数内部使用的时候尝尝看到类似global $a; 超全局变量: 在所有脚本都有效,所以,在函数可以直接 ...
- php globals的用法,php global用法/php global 变量/$globals php
php global用法/php global 变量/$globals php 最近在研究PHP,期间遇到了global和$GBLOBALS,网上找到的一些资料大多相同,连例子都一样,学习完后,还是一 ...
- php中区分大小写的超全局变量总结
平时写程序,用$_POST[]都是大写,而今天在写一个搜索程序的时候把大写弄成了小写,就出现了无论如何都提交不了内容的情况.看来,在php中对于一些超全局变量是区分大小写的.下面总结一些区分大小的超全 ...
- Python3 关键字nonlocal和global的用法与区别
关键字nonlocal 在Python 2.x中,闭包只能读外部函数的变量,而不能改写它. 为了解决这个问题,Python 3.x引入了nonlocal关键字,在闭包内用nonlocal声明变量,就可 ...
最新文章
- @Profile 根据不同环境注入bean
- 线程同步monitor
- oracle 选择最频繁出现之前,5文章数据
- bmw info source
- mysql 横向排列,mysql横向转纵向、纵向转横向排列的方法
- java和C和C++关系
- IS-IS详解(七)——IS-IS LSP报文详解
- STL总结之list
- linux安装jdk(二)
- 论文的重复率修改方法
- 第5章 ◄数组与字符串►
- Raspberry-Pi-PICO系列--第八篇 高级篇使用SWD接口下载和调试(第一章)
- mybatis case when
- 回忆录——一份曾经面试“网易AI产品经理”的作品
- Arduino与Proteus仿真实例-I2C总线多个M24C01设备数据储存仿真
- 为什么使用 LinkedIn 进行联盟营销活动?
- 解决 Macbook 连接蓝牙鼠标卡顿问题
- 程序员专属对联,句句扎心
- elasticsearch-java客户端测试
- ARM学习知识整理day1
热门文章
- 信息学奥赛一本通(2024:【例4.10】末两位数)
- 图论 —— 生成树 —— 最小瓶颈路
- 超级楼梯(HDU-2040)
- android 蓝牙通知,android – 蓝牙低能耗通知
- 哪些集合不能使用迭代器_Rust能力养成之(6):集合体与迭代器
- 一起学习C语言:结构体(二)
- pytorch学习2:pytorch搭建Alexnet网络
- Pytorch之Variable与tensor--它封装了Tensor,并整合了反向传播的相关实现,像装糖果(糖果就是数据即tensor)的盒子
- 3-4numpy聚合操作和arg(索引)运算和排序
- 上海c语言做游戏培训,0基础C语言游戏逆向课程,培训视频+项目实战