php变量作用域笔记
变量的作用域是脚本中变量可被引用/使用的部分。
PHP 有四种不同的变量作用域:
local(局部)
global(全局)
static (静态)
parameter(参数)
1、定义在函数外部的就是全局变量,它的作用域从定义处一直到文件结尾。
2、函数内定义的变量就是局部变量,它的作用域为函数定义范围内。
3、函数之间存在作用域互不影响。
4、函数内访问全局变量需要 global 关键字或者使用 $GLOBALS[index] 数组,index是变量名
函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问。
函数内部声明的变量拥有 LOCAL 作用域,只能在函数内部进行访问。
实例
测试函数内部的变量:";echo "变量 x 是:$x";echo "
";echo "变量 y 是:$y";
} myTest();echo "测试函数之外的变量:
";
echo "变量 x 是:$x";
echo "
";
echo "变量 y 是:$y";
?>
1.global 关键字用于函数内访问全局变量。
在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字:
实例:
PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。
上面的实例可以写成这样:
2.Static 作用域
静态变量在局部域(函数/类的方法)中只被初始化一次,当程序执行离开此作用域时,其值不会消失,直至请求结束(在函数/方法内对静态变量unset不起作用!)。
当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除。
要做到这一点,请在您第一次声明变量时使用 static 关键字:
修饰全局作用域的变量,没有实际意义
如下所示:
3.参数作用域
参数是通过调用代码将值传递给函数的局部变量。
参数是在参数列表中声明的,作为函数声明的一部分:
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
