惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

罗磊的独立博客
SecWiki News
SecWiki News
酷 壳 – CoolShell
酷 壳 – CoolShell
爱范儿
爱范儿
量子位
M
MIT News - Artificial intelligence
GbyAI
GbyAI
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
TaoSecurity Blog
TaoSecurity Blog
博客园 - 【当耐特】
H
Heimdal Security Blog
腾讯CDC
The Last Watchdog
The Last Watchdog
Security Archives - TechRepublic
Security Archives - TechRepublic
Hacker News: Ask HN
Hacker News: Ask HN
S
Schneier on Security
Microsoft Security Blog
Microsoft Security Blog
WordPress大学
WordPress大学
博客园 - 司徒正美
Recent Commits to openclaw:main
Recent Commits to openclaw:main
C
Cybersecurity and Infrastructure Security Agency CISA
S
SegmentFault 最新的问题
大猫的无限游戏
大猫的无限游戏
Application and Cybersecurity Blog
Application and Cybersecurity Blog
F
Full Disclosure
有赞技术团队
有赞技术团队
T
Tailwind CSS Blog
Engineering at Meta
Engineering at Meta
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
T
Threatpost
月光博客
月光博客
A
Arctic Wolf
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
雷峰网
雷峰网
T
Troy Hunt's Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The Cloudflare Blog
D
DataBreaches.Net
O
OpenAI News
L
LINUX DO - 最新话题
宝玉的分享
宝玉的分享
小众软件
小众软件
V
Vulnerabilities – Threatpost
A
About on SuperTechFans
人人都是产品经理
人人都是产品经理
T
The Exploit Database - CXSecurity.com
Martin Fowler
Martin Fowler
美团技术团队
P
Privacy International News Feed

博客园 - 早上六点半遇见五月天

PHP 关于用判断is_resource函数判断 CURL 句柄,在 PHP 7.2+ 版本有一个重要变化! mysql 存储不过1000个中文选什么数据类型 PHP curl 模拟GET请求接口报错HTTP Status 400 – Bad Request 问题 删除所有的php-fpm进程命令 利用Navicat premium实现将数据从Oracle导入到MySQL Mac版phpstorm 一次性折叠所有函数/方法的快捷键 Mac 多次killall php-fpm之后会php-fpm会自动启动 解决方法 PHP 常用的字符串函数 MySQL 表示日期的数据类型 同一局域网下Mac无法远程连接至win7报错:Unable to connect to remote PC. MySQL 支持的存储引擎 设计模式之单例模式 MySQL 数据定义语言(DDL) 设计模式的原则和法则 GoF的23种设计模式分类和功能 PHP 跨域之header Mac brew安装的php修改了php.ini之后如何重启php? PHP 文件上传之如何识别文件伪装?——PHP的fileinfo扩展可! PHP 超全局变量之$_FILES
PHP 超全局变量之$GLOBALS
早上六点半遇见五月天 · 2019-12-23 · via 博客园 - 早上六点半遇见五月天

$GLOBALS——引用全局作用域中可用的全部变量。


$GLOBALS一个包含了全部变量的全局组合数组。变量的名字就是数组的键。(即所有出现过的全局变量,都可通过$GLOBALS获取到)

注释:
“Superglobal”也称为自动化的全局变量。这就表示其在脚本的所有作用域中都是可用的,不需要在函数或方法中用global $variable;来访问它。
与所有其他超全局变量不同,$GLOBALS在PHP中总是可用的。

 在PHP中,定义在函数体外的全局变量,函数内部是不能直接获取的,所以需要global声明或者$GLOBALS[]来获取。

$GLOBALS 和 global 的区别:

  • $GLOBALS['variable'] 是外部的全局变量$variable本身。
  • global  $variable 是外部$variable的同名引用或者指针。把 global $variable; 当成是 $variable = & $GLOBALS['variable']; 的简写。也就是在函数产生一个指向函数外部变量的别名变量,而不是真正的函数外部变量。【PHP变量函数里指出:在 Zend 引擎 1 代,它驱动了 PHP4,对于变量的 static 和 global 定义是以引用的方式实现的。例如,在一个函数域内部用 global 语句导入的一个真正的全局变量实际上是建立了一个到全局变量的引用。】 

下面一个简单的例子说明:

$a = 1;
$b = 2;
function Test1(){
    echo $a; //输出 :Notice: Undefined variable: a
    global $a;
    echo $a; //输出: 1
    unset($a);
}
Test1();
echo $a; // 输出:1
function Test2(){
    echo $GLOBALS['a']; //输出: 1
    unset($GLOBALS['a']);
}
Test2();
echo $a;//输出:Notice: Undefined variable: a

$GLOBALS 和 global 的相同点:

  • 可以在函数内部使用函数外声明的变量;
  • 在函数体外声明全局变量没有意义,在函数内部也无法使用。

例子:

global $a;
$a = 1;
function Test3(){
    echo $a; //输出:Notice: Undefined variable: a
}
Test3();

$GLOBALS['b'] = 2;
function Test4(){
    echo $b; //输出:Notice: Undefined variable: b
}
Test4();