例如:
复制代码 代码如下:
$a = 1;
include 'b.inc';
?>
这里变量 $a 将会在包含文件 b.inc 中生效。但是,在用户自定义函数中,一个局部函数范围将被引入。任何用于函数内部的变量按缺省情况将被限制在局部函数范围内,此时为局部变量。
PHP 中全局变量在函数中使用时必须申明为global。
在函数中使用global声明的变量即为全局变量,可以在函数外使用。注意:global声明变量时,不能直接对变量赋值,需要先声明后赋值。
在全局范围内,也可以通过$GLOBALS访问全局变量,在函数内不需要使用global关键字来访问全局变量了。$GLOBALS 是一个关联数组,每一个变量为一个元素,键名对应变量名,值对应变量的内容。$GLOBALS 之所以在全局范围内存在,是因为 $GLOBALS 是一个超全局变量。
常量可以不用理会变量的作用域而在任何地方定义和访问;
变量范围的另一个重要特性是静态变量(static variable)。静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失。静态变量仅在第一次调用时进行初始化,声明时可以对其赋值,不能是表达式值。如果在声明中用表达式的结果对其赋值会导致解析错误。
当把一个引用(带上&的变量或对象)赋值给一个静态变量时,引用并不是静态地存储的,第二次调用函数时静态变量其值并没有被记住。同样,当把一个引用(带上&的变量或对象)赋值给global变量时,此变量的变化对函数外不起作用,作用范围只在该函数内。
0
0
相关文章
动态访问 Laravel Blade 模板中对象的属性(字符串转属性名)
如何使用纯递归方式累积嵌套数据行而不依赖类属性
PHP静态怎么定义才正确_PHP静态属性与方法的声明规则与使用注意【教程】
PHP怎样监控缓存命中率变化_PHP命中率监控法【监测】
PHP怎么写CLI模式密钥_PHP命令行模式密钥使用教程【教程】
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具
相关专题
热门下载
精品课程
相关推荐
/
热门推荐
/
最新课程
支付宝沙箱支付(个人也能用的支付)
共12课时 | 0.6万人学习
python大神Mosh,零基础小白6小时完全入门
共50课时 | 4.1万人学习
ECMAScript6 / ES6---十天技能课堂
共25课时 | 2万人学习
最新文章









