php全局变量的使用方法

  

php全局变量的使用方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!

php全局变量的使用方法:可以在函数内通过全球来声明该变量,代码为【$ name=皐hy";函数changeName(){全局名称;美元$ name=皐hat";}】。

<强> php全局变量的使用方法:

<强> 1,全局变量的全球的定义和使用

最初,我的需求是这样的:

& lt; php ?   $ name=皐hy";   函数changeName () {   $ name=皐hat";   }   changeName ();   回应“我的名字是“。美元的名字。““& lt; br/;;   ?在

执行代码的结果是:我的名字是为什么,而不是执行changeName()后显示。分析原因,这是因为函数体changeName内美元名字变量被缺省设置为局部变量,美元的名字的作用域就是在changeName内。于是,修改代码,添加全局变量如下:

& lt; php ?   全球美元的名字;   $ name=皐hy";   函数changeName () {   $ name=皐hat";   }   changeName ();   回应“我的名字是“。美元的名字。““& lt; br/;;   ?在

注意:不能在用全球声明变量的同时给变量赋值,像全球美元name=皐hy"的使用方式是错误的。

定义全局变量后执行的结果仍然为我的名字是为什么,这个结果让我吃惊。原来,全球的正确用法是:“在一个函数中引入外部的一个变量,如果该变量没有通过参数传递进来,那么就通过全球引入进来!”也就是说,当一个函数引用一个外部变量时,可以在函数内通过全球来声明该变量,这样该变量就可以在函数中使用了(相当于当作参数传递进来)。那么,再次修改代码:

& lt; php ?   $ name=皐hy";   函数changeName () {   全球美元的名字;   $ name=皐hat";   }   changeName ();   回应“我的名字是“。美元的名字。““& lt; br/;;   ?在

这次的运行结果是:我的名字是什么,说明全球是起传递参数的作用,而并非使变量的作用域为全局。再看下面的例子:

& lt; php ?   $ name=皐hy";   函数changeName () {   全球美元的名字;   $ name=皐hat";   }   函数changeName2 () {   $ name=皐here";   }   changeName ();   changeName2 ();   回应“我的名字是“。美元的名字。““& lt; br/;;   ?在

执行结果为:我的名字是什么,如果在changeName2()中添加全球美元的名字,运行结果则是:我的名字是。

综上,全球的作用就相当于传递参数,在函数外部声明的变量,如果在函数内想要使用,就用全球来声明该变量,这样就相当于把该变量传递进来了,就可以引用该变量了。

除了使用全球参数定义外,还可以使用超全局变量美元全球:

& lt; php ?   $ name=皐hy";   函数changeName () {   $全局[& # 39;名字# 39;]=皐hat";   }   changeName ();   回应“我的名字是“。美元的名字。““& lt; br/;;   ?在

<强> 2,全球美元和全球

一个例子:

& lt; php ?   var1=1美元;   var2=2美元;   函数test1 () {   $全局[& # 39;var2& # 39;]=和全局美元[& # 39;var1 # 39;];   }   test1 ();   回声var2美元。““& lt; br/;;   var3=1美元;   var4=2美元;   函数test2 () {   全球var3美元,美元var4;   var4=, var3美元;   }   test2 ();   回声var4美元。““& lt; br/;;   ?在

输出var2美元的值为1,var4美元的值为2,因为美元var3的引用指向了var4美元的引用地址。美元var4的实际值并没有改变。官方的解释是:美元全局(& # 39;var # 39;]是外部的全局变量本身,全球$ var是外部$ var的同名引用或者指针。意味着全球美元在一个脚本的全部作用域中都可用,在函数或方法中无需执行全球美元变量;就可以访问它们。与所有其他超全局变量不同,全局美元在PHP中总是可用的。另一个例子:

& lt; PHP ?   var1=1美元;   函数test1 () {   设置(全局美元[& # 39;var1 # 39;]);   }   test1 ();   回声var1美元。““& lt; br/;;   var2=1美元;   函数test2 () {   全球var2美元;   设置($ var2);   }   test2 ();   echo $ var2;   吗?在

输出结果是美元var1不存在,而美元var2的值为1。这就证明,美元var2只是别名引用,本身的值没有受到任何的改变。也就是全局$ var说其实就是$ var=和全局美元[& # 39;var # 39;],调用外部变量的一个别名而已。

php全局变量的使用方法