PHP中$GLOBALS和global

今天用了接近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。

总结:

程序 = 算法+数据

在程序中,定义的变量是一种最直接的数据。既然是数据就会涉及到存储和处理。在理解一门语言的时候,需要对数据的存储途径和处理途径有一个很深入的理解。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值