tech_z95 2017-08-08 16:03 采纳率: 0%
浏览 1009

php global到底是代表直接使用变量还是代表变量的引用?

<?php
$a=0;
function test(){
global $a;
$a = 1;
}
test();
echo $a;//输出1
?>
在网上查了下,感觉都讲得不彻底!或许我理解不到位!
此处说明:函数外环境简称外部环境也就是所谓的全局环境,内部环境也就是局部环境.
php作用域想必都知道,就是全局环境和局部环境彼此独立隔离,互相不能访问各自里的变量.按照之前网上所讲,此处global就代表是全局$a的同名引用,也就是声明一个局部$a
并引用全局$a.
第二:如果此代码没定义全局$a,那么就是声明一个值为1的全局$a.
但是今天看到静态变量,又对global产生疑惑,求大神加精!global到底是代表直接使用
全局变量还是代表全局变量的引用?

  • 写回答

1条回答 默认 最新

  • caihuan19890113 2017-10-19 09:17
    关注

    $test=1;
    function test(){
    global $test;
    echo $test;
    }
    test();
    输入1,如果不加global $test;这句 则会提交变量test没有定义

    评论

报告相同问题?

悬赏问题

  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器