怎么在PHP中使用global&静态关键字

  介绍

这期内容当中小编将会给大家带来有关怎么在PHP中使用global&静态关键字,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

PHP开发环境搭建工具有哪些

一、phpStudy,是一个新手入门最常用的开发环境,二,WampServer, WampServer也同样的也是和phpStudy一样操作简单对小白比较友好。三,XAMPP, XAMPP Apache (PHP + MySQL + + PERL)是一个功能强大的建站集成软件包;四,MAMP, MAMP分为两种MAMP和MAMP Mac Pro。五,宝塔面板,宝塔面板是一款服务器管理软件,支持windows和linux系统,六UPUPW, UPUPW是目前windows平台下最具特色的Web服务器PHP套件。

& lt; PHP ?   $ x=5,,//,全局变量   function  myTest ()   {   ,,y=10美元;,//,局部变量   echo 才能“& lt; p>测试函数内变量:& lt; p>“;   echo “才能变量,x 为:,x"美元;;   echo 才能“& lt; br>“;   echo “才能变量,y 为:,y"美元;;   }   myTest ();   echo “& lt; p>测试函数外变量:& lt; p>“;   echo “变量,x 为:,x"美元;;   echo “& lt; br>“;   echo “变量,y 为:,y"美元;;   ?在

在以上实例中myTest()函数定义了x和y美元变量。$ x变量在函数外声明,所以它是全局变量,$ y变量在函数内声明所以它是局部变量。

当我们调用myTest()函数并输出两个变量的值,函数将会输出局部变量$ y的值,但是不能输出$ x的值,因为$ x变量在函数外定义,无法在函数内使用,如果要在一个函数中访问一个全局变量,需要使用全球关键字。

然后我们在myTest()函数外输出两个变量的值,函数将会输出全局部变量$ x的值,但是不能输出$ y的值,因为$ y变量在函数中定义,属于局部变量。

由此,我们就可以知道,我们可以在不同函数中使用相同的变量名称,因为这些函数内定义的变量名是局部变量,只作用于该函数内。这也算是一个小技巧了哈。

废话不多说,我们先来看全球关键字.global关键字用于函数内访问全局变量。在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上全球关键字,来看个实例:

& lt; php ?   $ x=5;   y=10美元;   function  myTest ()   {   global 才能;$ x, y美元;   ,,y=x + y美元美元;   }   myTest ();   echo  $ y,,//,输出,15   祝辞;

PHP将所有全局变量存储在一个名为全局变量(指标)的美元数组中。指数保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量,所以,上面的实例可以写成这样:

& lt; PHP ?   $ x=5;   y=10美元;   function  myTest ()   {   美元才能全局(& # 39;y # 39;]=$全局(& # 39;x # 39;] +全局美元[& # 39;y # 39;];   }   myTest ();   echo  $ y;   祝辞;

大概了解了吧,好吧,我们再来看静态关键字。

当一个函数完成时,它的所有变量通常都会被删除。然而,有时候我们希望某个局部变量不要被删除。要做到这一点,就要我们第一次声明变量时使用静态关键字。我们来看个实例:

& lt; php ?   function  myTest ()   {   static 才能;$ x=0;   echo 才能;$ x;   $ x + +才能;   }   myTest ();   myTest ();   myTest();//运行结果:,0,1,2   ?在

我们可以看的到,每次调用该函数时,该变量将会保留着函数前一次被调用时的值,不过在这里咱们要知道,该变量仍然是函数的局部变量,不能再别的地方使用。不过,我们在使用递归的时候,还是会,用到这个什么静态关键字的,大家有兴趣的,可以稍稍研究下。还是蛮有意思的。

通过上述的各种点吧,有以下几个总结:

1,定义在函数外部的就是全局变量,它的作用域从定义处一直到文件结尾。
2,函数内定义的变量就是局部变量,它的作用域为函数定义范围内。
3,函数之间存在作用域互不影响。
4,函数内访问全局变量需要全球关键字或者使美元用全局变量(指标)数组

在php中函数是有独立的作用域,所以局部变量会覆盖全局变量,即使局部变量中并定义没有全局变量相同的变量,也会被覆盖。如下所示:

& lt; php ?   美元=5;   $ b=3;   function  t ()   {   echo 才能;a - b;美元,//,输出,0   }   t ();   祝辞;

怎么在PHP中使用global&静态关键字