PHP 作用域

 作用域:变量(常量)能够被访问的区域

1、变量可以在普通代码中定义

2、变量也可以在函数内部定义

在PHP中作用域严格来说分为两种:但是PHP内部还定义一些在严格意义之外的一种,所以总共算三种:

1、全局变量:就是用户普通定义的变量〈函数外部定义)

所属全局空间:在PHP中只允许在全局空间使用:理论上函数内部不可方法, 也就是函数内部不能访问全局变量,解决方法:

<?php
    $a="hhh";
    function display(){
        echo $GLOBALS["a"];
    }
?>

如果想在函数内部使用外部变量,除了 $GLOBALS[ ] 以外,还可以使用参数传值,

生命:直到程序运行结束

2、局部变量:就是在函数内部定义的变量(可以拿自定义函数的形参来理解)

所属当前函数空间:在PHP中只允许在当前函数自己内部使用

生命:函数运行结束

3、超全局变量:系统定义的变量(预定义变量:$SERVER、$POST等)

所属超全局空间:没有访问限制(函数内外都可以访问)

在PHP中,其实还有一种方式,能够实现全局访问局部,同时局部也可以访问全局: global关键字

Global关键字:是一种在函数里面定义变量的一种方式

1、如果使用global定义的变量名在外部存在(全局变量),那么系统在函数内部定义的变量直接指向外部全局变量所指向的内存空间(同一个变量);

2、如果使用global定义的变量名在外部不存在(全局变量),系统会自动在全局空间(外部)定义一个与局部变量同名的全局变量;

本质:对同名变量使用同一块内存地址保存数据

代码:

<?php
    $a="hhh";
    function display(){
        global $a;
        echo $a;
    }
?>

此外,在函数内部通过 global 的方式生命一个函数以外不存在的变量, 那这个变量也是可以在函数外面访问到的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MUNG东隅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值