php之local 、global和static

函数之外声明的变量拥有global作用域,只能在函数以外进行访问。

函数内部声明的变量拥有LOCAL作用域,只能 在函数内部进行访问。

 

eg: 1,

    $x = 5;

    $y = 10;

    function myTest(){

      global $x,$y;

      $y = $x+$y;

    }

    myTest();

    echo  $y;//输出15

global 就我理解类似于引入变量的作用,上面的代码也可以写成这样:

    $x = 5;

    $y= 10;

     function myTest(){

      $GLOBALS['y'] = $GLOBALS['X'] + $GLOBALS['y'];

     }

     mytest();

     echo  $y;//结果也是15

有时候不需要删除某个局部变量的值,这就需要在第一次声明变量的时候使用static关键字:

eg: 2 ,

  function mytest(){

  static $x = 0;

  echo $x;

  $x++;

  unset($x);

  }

mytest().'<br/>';

mytest().'<br/>';

mytest();

//执行3次,依次返回0,1,2,unset释放不掉定义的static变量和global变量。

 

posted @ 2017-02-28 15:49  yahn~  阅读(292)  评论(0)    收藏  举报