PHP中$GLOBALS和global
程序员文章站
2024-01-21 23:59:46
...
今天用了接近2个小时的时间,去理解了一个很基础的问题,一个蠢到家的问题。
整理一下,避免类似的问题再次出现。
先说问题:
$GLOBALS : 一个包含了全部变量的全局组合数组
简单的说,$GLOBALS包含PHP中,内置,或者自定义的,所有的 全局变量!
比如: $_GET $_POST
等这些全局变量都可以在$GLOBALS
中找到
你自己定义的全局变量变量也能在$GLOBALS
中找到
$aa = 123;
$bb = 111;
var_dump($GLOBALS);
自定义的变量,你可以用 $aa
访问和更改,你也可以用$GLOBALS['aa']
来访问和使用
global关键词的变量就是把局部变量变为全局变量,没错就是这么简单
$aa = 123;
$bb = 111;
function test(){
global $bb;
$bb = 456;
}
test();
结果:
'aa' => int 123
'bb' => int 456
因为global使$bb
变为全局变量了,和之前定义的$bb
成为同一个变量,所以在函数内部修改的时候,$bb
成了456。
总结:
程序 = 算法+数据
在程序中,定义的变量是一种最直接的数据。既然是数据就会涉及到存储和处理。在理解一门语言的时候,需要对数据的存储途径和处理途径有一个很深入的理解。
上一篇: vue配置全局变量