在调用完这个testglobal之后 给$var1赋值 再打印 $var1 与$var2的值 输出的结果是 5---5第二次">
当前位置:Gxlcms > PHP教程 > PHP中global与$globals的区别?

PHP中global与$globals的区别?

时间:2021-07-01 10:21:17 帮助过:30人阅读

先贴上代码 这是 global
输出",$var1,'---',$var2; ?>

在调用完这个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 的引用


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

人气教程排行