PHP变量作用域小结
变量是用来存储信息的“容器”,PHP变量中有这几个规则:以$符号开始,后面接着变量的名称;变量名必须以字母或下划线字符开始;变量名只能包含字母数字字符及下划线;变量名区分大小写;
变量作用域是指脚本中变量可被引用或使用的部分。PHP有四种不同的变量作用域:static parameter global local.
局部和全局作用域(loacal global)
在所有函数外定义的变量拥有全局作用域,在函数内部声明的变量是局部变量,仅能在函数内部访问。要在一个函数中使用全局变量,需要使用global关键字。
- //使用global关键字
 - <?php
 - $x=10;
 - $y=20;
 - function test(){
 - global $x,$y;
 - $y=$x+$y;
 - }
 - test();
 - echo $y;//输出30
 
- //全局变量局部变量
 - <?php
 - $x=5; // 全局变量
 - function myTest()
 - {
 - $y=10; // 局部变量
 - echo "<p>测试函数内变量:<p>";
 - echo "变量 x 为: $x"; //输出错误 Notice: Undefined variable:
 - echo "<br>";
 - echo "变量 y 为: $y";
 - }
 - myTest();
 - echo "<p>测试函数外变量:<p>";
 - echo "变量 x 为: $x";
 - echo "<br>";
 - echo "变量 y 为: $y"; //输出错误 Notice: Undefined variable:
 
PHP将所有的全局变量存储在一个数组中,名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。
static作用域
当一个函数完成时,它的所有变量通常都会删除,如果期望某个局部变量不被删除,在第一次声明变量时使用static关键字。
- <?php
 - function test(){
 - static $y=1;
 - echo $y;
 - $y++;
 - }
 - echo test(); //1
 - echo test(); //2
 - echo test();
 
parameter作用域
参数是通过调用代码将值传递给函数的局部变量。
- <?php
 - function myTest($x)
 - {
 - echo $x;
 - }
 - myTest(5);
 
                    
                
                
            
        
浙公网安备 33010602011771号