变量的作用域(范围)

            由于函数的出现,导致变量的能见度(生命周期)不同。

            共划分为:全局变量、局部变量、 静态变量:

            1.全局变量:就是在函数外定义变量

            作用域:在函数外和函数内都可以看到的,并可以使用的变量

            注意:在函数内使用函数外的全局变量要使用global关键字先声明一下。

           

               //变量的作用域:全局变量

                $a=10;//定义一个变量a值为10

                $b=20;

                 //定义一个函数

                function fun(){

                   global $a; //尝试使用外部的全局变量a

                   echo $a; //输出变量a的值10

                   echo $b; //输出变量b的值,结果没有(因为没有使用global)

                   $a=100;

                }

                fun(); //调用函数fun

                  echo $a; //100

                 ?>

            2.局部变量:在函数内定义的变量,特点只在函数内有效,我们可以使用return将值返回。

               

                   //变量的作用域:局部变量

                    //定义一个函数

                    function fun(){

                        $a=100;   //函数内定义变量

                        echo $a; //输出变量a的值100

                      }

                    fun(); //调用函数fun

                    echo $a; //没有输出,在函数内定义的变量,在函数外是无法使用的

                    ?>

            3. 静态变量:在函数内使用static关键字定义的变量

                //变量作用域:静态变量的使用

                    function fun(){

                      static $i=0; //在当前脚本中连续多次调用本函数,依然有效,里面的静态声明(初始化)只会调用一次。

                      $i++;

                      echo $i;

                    }

                    fun();  //1

                    fun();  //2

                    fun();  //3

                    fun();  //4