超全局作用域|学习笔记

简介: 快速学习超全局作用域

开发者学堂课程【PHP 基础入门课程(下)超全局作用域】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/710/detail/12634


超全局作用域


内容介绍:

一、超全局作用域(超全局变量)概念

二、示例

三、小结


一、超全局作用域(超全局变量)概念

超全局作用域:即脚本中任意位置(局部全局都可以访问)

超全局变量:系统定义的预定义变量

说明:

(1)超全局变量不受作用域限制,都可以访问

(2)全局变量都会被收纳在$GLOBALS 中(可以用 GLOBALS 访问全局变量)

(3)可以利用超全局变量来保存数据,让数据不受作用域限制


二、示例

1、超全局变量

#定义局部变量

$a = 100;

ecoh’<pre>’;

var_dump($GLOBALS);

运行结果:

image.png

#  里面包含的东西很多,有_GET 表示 get 的所有东西都会包含,这两个值是我们自己定义的,这即全局变量会自动被吸纳在$GLOBALS 超全局变量里面。

function display (){

var_dump($GLOBALS);

echo  $GLOBALS[‘a’];

}

display();    #打印很多,包括$a= 100

运行结果:

image.png

#输出100  全局变量因为超全局作用域和超全局变量的关系变得不再受限制。

2、将局部变量保存到$GLOBALS 中,也可以任意访问

#先尝试直接定义

$GLOBALS[‘b’] = 1000;  #刷新后没效果

}

display();

var_dump($GLOBALS);

运行结果:

image.png

#刷新后有效果,里面有 a 和 b。随着函数在此地方的调用开始以及调用结束,系统内部定义的局部变量就会被消失。此时不是在定义局部变量,只是给超全局变量增加了一个元素而已(相当于定义了一个全局变量,一般不建议这么做)

function display(){

#添加超全局作用域数据

$GLOBALS[‘a’]=100;

}

#必须先运行函数:执行内部代码才有效

display();

echo  $GLOBALS[‘a’];   #输出100

运行结果:

image.png


三、小结

1、超全局作用域是 PHP 脚本任意位置

2、超全局变量是系统定义,开发者一般只用来访问数据(不建议通过超全局变量来让变量跨域)

3、$GLOBALS 会自动包含全局变量,追加的元素系统也会当做全局变量,同时还有以下超全局变量:

$_GET:自动接收 GET 提交的数据·

$_POST:自动接收 POST 提交的数据

$_COOKE:自动接收 cookie 数据

$_FILES:自动接收文件上传的数据

$_GLOBALS(自己包含自己)

相关文章
|
6月前
|
JavaScript 前端开发
避免将变量和函数暴露给全局作用域可能导致的命名冲突和代码可维护性
保护变量和函数不暴露于全局作用域可防止命名冲突,提升代码可维护性。
|
6月前
|
自然语言处理 JavaScript 前端开发
作用域的概念及作用?作用域的分类?.js 属于哪种作用域?
作用域的概念及作用?作用域的分类?.js 属于哪种作用域?
64 0
|
23天前
|
自然语言处理 JavaScript 前端开发
词法作用域和静态作用域有什么区别
【10月更文挑战第12天】词法作用域和静态作用域有什么区别
|
2月前
|
JavaScript 前端开发
理解局部作用域
【9月更文挑战第03天】
29 2
|
3月前
|
JavaScript 前端开发
理解全局作用域
【8月更文挑战第25天】
29 0
|
6月前
|
C语言
c作用域规则
c作用域规则
52 0
|
6月前
|
JavaScript 前端开发 Java
什么是作用域,它的作用是什么?
什么是作用域,它的作用是什么?
146 1
|
6月前
|
JavaScript 前端开发
js开发:请解释什么是作用域(scope),并说明全局作用域、局部作用域和块级作用域的区别。
JavaScript中的作用域规定了变量和函数的可见性与生命周期。全局作用域适用于整个脚本,变量可通过全局对象访问,可能导致命名冲突和内存占用。局部作用域限于函数内部,每次调用创建新作用域,执行完毕后销毁。ES6引入的块级作用域通过`let`和`const`实现,变量仅在其代码块内有效,并有暂时性死区。作用域机制有助于代码组织和变量管理。
44 1
|
6月前
|
JavaScript
JS作用域(全局作用域+局部作用域)
JS作用域(全局作用域+局部作用域)
33 0
|
存储 搜索推荐 C语言
C 作用域规则
C 作用域规则
48 0