PHP中全局变量与全球美元的区别是什么

  介绍

这期内容当中小编将会给大家带来有关PHP中全局变量与全球美元的区别是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

PHP中全局美元和全球都可以实现全局变量的功能,所以很多人都认为全球和全局美元[]只是写法上面的差别,其实不然。美元全局变量是一个超级全局变量,其实是一个数组,而全球化则是一个声明全局变量的关键字!

<强>一、超全局变量美元全局

PHP超全局变量有很多,如下的都属于超全局变量(Superglobal):

全局美元$ _SERVER, $ _GET, $ _POST,带有_file _COOKIE美元,美元$ _SESSION, $ _REQUEST, _ENV美元。

<强>官方说明:

全局-引用全局作用域中可用的全部变量。

一个包含了全部变量的全局组合数组。变量的名字就是数组的键。

即出现过的全局变量,就可以通过美元全局这个数组取得。

<李>

全局美元[& # 39;var # 39;]是外部的全局变量$ var本身。

<李>

全球$ var是外部$ var的同名引用或者指针。(错误:是个别名引用而已,非指针! ! !)

PHP生命周期中,定义在函数体外部的所谓全局变量,函数内部是不能直接获得的。

$ foo=癊xample  content";   测试();   function 测试(){   $ foo=才能“local  variable";   echo 才能;& # 39;foo 美元;current 范围:拷贝,& # 39;$ foo霸主地位;& lt; br>“;   echo 才能;& # 39;foo 美元;global 范围:拷贝,& # 39;全局美元。(“foo") !”& lt; br>“;   }

如上的例子,要访问外部的$ foo必须使美元用全局变量数组。对于通过包括文件进来的外部全局变量也适用。

php中全球也有这样的功能,它和全局美元的区别在于:

全球在函数产生一个指向函数外部变量的别名变量,而不是真正的函数外部变量。

全局美元[]确确实实调用是外部的变量,函数内外会始终保持一致。

对于类中的成员变量,类中函数必须使用这个→美元的方式访问,不能用全局美元方式:

全球的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括包括或要求的所有文件。

<强>二、实例讲解

function  t1 () {   global  var1美元,才能var2美元;   美元才能var2=, var1美元;   }   function  t2 () {   美元才能全局(& # 39;var3& # 39;]=和全局美元[& # 39;var1 # 39;];   }   var1=5美元;   var2=var3美元=0;   t1 ();   print  var2美元霸主地位;\ n";   t2 ();   print  var3美元霸主地位;\ n";

执行结果为:

0
5

为什么不是2个5而是1个0和1个5呢?再修改一下例子:

function  t1 () {   global 才能;var1美元;   美元才能var1=2;   设置才能($ var1);   }   function  t2 () {   美元才能全局(& # 39;var1 # 39;]=3;   设置才能(全局美元[& # 39;var1 # 39;]);   }   var1=1美元;   t1 ();   print  var1美元霸主地位;\ n";   t2 ();   print  var1美元霸主地位;\ n";

执行结果只输入一个2,

1美元全局是由所有已定义全局变量自动形成的数组。变量名就是该数组的索引。即全局美元[& # 39;var1 # 39;]与函数外部的变量var1美元是同一个变量,所以美元将全局变量(& # 39;var1 # 39;]删除后,该变量已不存在,所有无法输出了。

注:全局变量是美元自动全局变量。这意味着它在所有的脚本中都有效。在函数或方法中不需要使全球美元用全局变量,来访问它。

2,“全球美元var1;“是产生了函数外部var1美元的别名变量“var1"美元;,它不是真正的函数外部变量,他只存在于函数的内部,所以即使在函数内将别名变量删除也不会影响外面的变量,但是可以修改函数外部变量的值。

<强>或许有的人总想知道这个或那个的区别:

在php程序,包括其他程序的学习中,自己动手实验,根据结果加上的思考,有的时候比上网查找可能会来得更快一些,更准确一些。下面我们来讲一下,php在全局范围内访问变量要怎么办?

<强>例一:全球定义全局变量。

function  test_global () {   global 才能;var1美元;   美元才能var1=& # 39;好# 39;;   设置才能($ var1);   }   test_global ();   var2=, var1美元;   设置($ var1);   echo  var2美元;

PHP中全局变量与全球美元的区别是什么