PHP 全局变量global与$GLOBAL大详解
2016-09-21 18:56
716 查看
总结:
A:1全局变量相当于有3个变量,函数外部的变量,函数内部的变量,及$GLOBAL的超全局变量。
----$GLOBAL是全局唯一的,而$var在为全局变量的别名。
B:无论函数内部外部,只要曾经声明过全局变量,则$GLOBAL为全局的,无需再次声明;
C:在函数内部unset $var1 不会影响外部的变量,以及$GLOBAL['var1'];
----在函数内部的变量 global $var1 应是全局变量在函数内的一个别名,
D:在函数外部unset($var1),$GLOBAL['var1']依然存在。
E:在函数外部 unset($GLOBALS['var1'])
后,$var1仍然存在;
F:如果在函数外部声明一个全局变量global $var,则$GLOBAL['var'] 指向同一地址。但是函数内部的$var 与其没有关系,除非使用global传递进来。
G:如果在函数内部声明一个全局变量global $var,则$GLOBAL['var'] 指向同一地址。但是外部的 $var 与其没有关系,除非使用global 传递过来。
1、如果想在PHP中使用全局变量,可参考下图:
---需要在外部用global声明,同时在函数内部进行声明,否则在函数内部会当局部变量。
2、在外部不用global则外部的就是不是全局变量,无法在函数内部使用:
----内部用了关键字global,在内部或外部$global['var1']、$global['var2]均为全局变量;
3、注释函数内部的global,则变量$var1 $var2 在函数内部的为局部变量,与外部互补干涉。则$GLOBALS为全局变量;
4、当不用global时,外部变量无法在函数内使用,内部变量无法影响外部函数,且无$GLOBALS可用;
5、unset($GLOBALS) 只会unset $GLOBALS,函数内部的全局变量不受影响;
6、在函数内部unset 变量,只是把内部的变量unset掉了。
-----函数内的全局变量只是一个全局变量的别名而已。
7、&引用,就是改变了变量的地址值(变量的引用传递)。
--在函数中把$GLOBAL['var2']指向了 $GLABAL['var1'],所以在函数内部时均一致;
--在函数外部var1 与 $GLOBALS['var1']一致,所以这3个变量一致。全局变量var1在函数内外时均一致;
--在函数内部的var2 与外部的var2 为同一个变量,在内外时均一致;
--此时只是把 $GLOBALS['var2']的因为修改为了var1,其它变量的值均为变化。
A:1全局变量相当于有3个变量,函数外部的变量,函数内部的变量,及$GLOBAL的超全局变量。
----$GLOBAL是全局唯一的,而$var在为全局变量的别名。
B:无论函数内部外部,只要曾经声明过全局变量,则$GLOBAL为全局的,无需再次声明;
C:在函数内部unset $var1 不会影响外部的变量,以及$GLOBAL['var1'];
----在函数内部的变量 global $var1 应是全局变量在函数内的一个别名,
D:在函数外部unset($var1),$GLOBAL['var1']依然存在。
E:在函数外部 unset($GLOBALS['var1'])
后,$var1仍然存在;
F:如果在函数外部声明一个全局变量global $var,则$GLOBAL['var'] 指向同一地址。但是函数内部的$var 与其没有关系,除非使用global传递进来。
G:如果在函数内部声明一个全局变量global $var,则$GLOBAL['var'] 指向同一地址。但是外部的 $var 与其没有关系,除非使用global 传递过来。
1、如果想在PHP中使用全局变量,可参考下图:
---需要在外部用global声明,同时在函数内部进行声明,否则在函数内部会当局部变量。
2、在外部不用global则外部的就是不是全局变量,无法在函数内部使用:
----内部用了关键字global,在内部或外部$global['var1']、$global['var2]均为全局变量;
3、注释函数内部的global,则变量$var1 $var2 在函数内部的为局部变量,与外部互补干涉。则$GLOBALS为全局变量;
4、当不用global时,外部变量无法在函数内使用,内部变量无法影响外部函数,且无$GLOBALS可用;
5、unset($GLOBALS) 只会unset $GLOBALS,函数内部的全局变量不受影响;
6、在函数内部unset 变量,只是把内部的变量unset掉了。
-----函数内的全局变量只是一个全局变量的别名而已。
7、&引用,就是改变了变量的地址值(变量的引用传递)。
--在函数中把$GLOBAL['var2']指向了 $GLABAL['var1'],所以在函数内部时均一致;
--在函数外部var1 与 $GLOBALS['var1']一致,所以这3个变量一致。全局变量var1在函数内外时均一致;
--在函数内部的var2 与外部的var2 为同一个变量,在内外时均一致;
--此时只是把 $GLOBALS['var2']的因为修改为了var1,其它变量的值均为变化。
相关文章推荐
- PHP 全局变量global详解
- PHP 的 全局变量 global 和 超全局变量 $GLOBAL - 只需一篇你就明白
- PHP 全局变量global详解
- PHP 全局变量global详解
- PHP Global变量定义当前页面的全局变量实现探讨
- PHP全局变量global
- PHP Global变量定义当前页面的全局变量
- PHP中全局变量global和$GLOBALS[]的区别分析
- PHP 超全局变量详解
- [PHP]全局变量:global与$GLOBALS的区别和使用
- php中全局变量global的使用演示代码
- PHP中全局变量的使用global和$GLOBALS[]
- PHP内核探索:全局变量Global
- PHP中全局变量的使用global和$GLOBALS[]
- php学习 global 全局变量
- php全局变量global和$GLOBALS
- PHP中全局变量的使用global和$GLOBALS[]
- php 中全局变量global 的使用
- PHP Global定义全局变量使用说明
- PHP Global变量定义当前页面的全局变量实现探讨