PHP中全局变量global和$GLOBALS的区别分析

PHP中全局变量global和$GLOBALS的区别分析


慕桂英546537
浏览 659回答 3
3回答

手掌心

1:Global的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require的所有文件。2:在 数组中,每一个变量为一个元素,键名对应变量名,值对应变量的内容。GLOBALS数组中,每一个变量为一个元素,键名对应变量名,值对应变量的内容。GLOBALS 之所以在全局范围内存在,是因为 是一个超全局变量。注意GLOBALS是一个超全局变量。注意GLOBALS 的写法,比如变量写法为a1,写法为GLOBALS['a1']。

喵喵时光机

global $a;$a = 123;function f(){global $a; //函数内使用全部变量$a = 312;}echo $a$GLOBALS 在 PHP 3.0.0 及以后版本中适用。由所有已定义全局变量组成的数组。变量名就是该数组的索引。这是一个“superglobal”,或者可以描述为自动全局变量。

交互式爱情

一、举例比较例一:复制代码 代码如下:<?php$var1 = 1;function test(){unset($GLOBALS['var1']);}test();echo $var1;?>因为$var1被删除了,所以什么东西都没有打印。例二:复制代码 代码如下:<?php$var1 = 1;function test(){global $var1;unset($var1);}test();echo $var1;?>意外的打印了1。证明删除的只是别名引用,其本身的值没有受到任何的改变。二、解释global $var其实就是&$GLOBALS['var'],调用外部变量的一个别名而已。上面代码中的$var1和$GLOBALS['var1']是指的同一变量,而不是两个不同的变量。PHP的全局变量和C语言有一点点不同。在C语言中,全局变量在函数中主动生效,除非被局部变量笼罩。这可能引起一些问题,有些人可能漫不经心的转变一个全局变量。PHP中全局变量在函数中应用时必须用global申明为全局。PHP的Global变量的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require的所有文件。三、结论1.$GLOBALS['var']是外部的全局变量本身2.global $var是外部$var的同名引用或者指针。 你看过后很简单吧以后不会可以向我一样经常到后盾人找找相关教材看看就会了,希望能帮到你,给个采纳吧谢谢&nbsp;
打开App,查看更多内容
随时随地看视频慕课网APP