php 中 global的问题
在教学中就跟做软件测试一样,分发现很多新大陆,因为你不停的去做各种尝试,也因为书本或者是教程或者是帮助文档其实说的也不是太清楚,以前也忘了总结,现在就对今天发现的这个问题总结一下:
我们都知道在在php中和在c与js中变量的作用域是不一样的,php中,函数内部是拿不到函数外面所谓定义的全局变量,因此想要去解决这个问题就得有解决办法,网络上也千篇一律的写到用global或者超全局变量数组GLOBALS[],但是也没有过多的说在函数外面能不能用,为何?
其实总结出来也就几句,说死就行了,就是这么规定的:
使用 global 关键字需要注意一下几点:
global 关键字,只能在函数内部使用,不能在函数外部使用;
global 关键字只能用来引用函数外部的全局变量,在引用时不能直接赋值,赋值和声明语句需要分开写;
在函数内部销毁一个使用 global 关键字修饰的变量时,函数外部的变量不受影响。
其实由总结也不难看出,局部的你当然不能用,所以你在函数外面去用global也是没有意义的,也就说明了第一条,第二既然你与c之类的不一样,你的解决办法就是在函数内使用,所以也就不是在函数内定义的了,因为你内部定义的也成不了全局变量,然后再加一条引用的时候不能赋值就可以总结出如上二点;第三点也不难理解,既然是全局,你在函数内部销毁了也只是在你函数内部不能用了,但全局它仍然在哪里,所以外部是不受影响的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!