欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP中 global 与$globals的区别?

程序员文章站 2022-05-26 15:09:54
...
先贴上代码 这是 global

在调用完这个testglobal之后 给$var1赋值 再打印 $var1 与$var2的值
输出的结果是
5---5第二次输出20---10
在函数内将 var1的地址赋给var2(我测试了一下在函数体内改变var1的值的话同样会改变var2的值) 但是调用完后再给var2赋值,不会改变var1的值,在global后修改var1的值会影响到函数体外的var1的值

这是$globals的代码

使用$globals 无论是在函数体内还是函数体外都会改变 var1 与var2的值

问题:
1:global引用变量是不是属于传值引用,在引用变量后其实只是将变量的值传递进函数体?但我在global中修改var1的值一样会影响到函数体外的var1的值,这是为什么?
2:global 与$globals 之间都有哪些区别?

期待得到指点,第一次提问格式有些乱,我会改进的。


回复讨论(解决方案)

这个问题不必纠结吧?手册中已经有了明确的说明


global $var1,$var2; //$var1 和 $var2 是全局变量的引用
$var2=&$var1; //对 $var2 赋值 $var1 的引用,这就切断了 $var2 对 全局变量 $var2 的引用

这个问题不必纠结吧?手册中已经有了明确的说明


global $var1,$var2; //$var1 和 $var2 是全局变量的引用
$var2=&$var1; //对 $var2 赋值 $var1 的引用,这就切断了 $var2 对 全局变量 $var2 的引用


谢谢你,麻烦你了, 我去下一本手册看看。