php变量范围介绍


Posted in PHP onOctober 15, 2012

例如:

<?php 
$a = 1; 
include 'b.inc'; 
?>

这里变量 $a 将会在包含文件 b.inc 中生效。但是,在用户自定义函数中,一个局部函数范围将被引入。任何用于函数内部的变量按缺省情况将被限制在局部函数范围内,此时为局部变量。


PHP 中全局变量在函数中使用时必须申明为global。

在函数中使用global声明的变量即为全局变量,可以在函数外使用。注意:global声明变量时,不能直接对变量赋值,需要先声明后赋值。

在全局范围内,也可以通过$GLOBALS访问全局变量,在函数内不需要使用global关键字来访问全局变量了。$GLOBALS 是一个关联数组,每一个变量为一个元素,键名对应变量名,值对应变量的内容。$GLOBALS 之所以在全局范围内存在,是因为 $GLOBALS 是一个超全局变量。

常量可以不用理会变量的作用域而在任何地方定义和访问;

变量范围的另一个重要特性是静态变量(static variable)。静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失。静态变量仅在第一次调用时进行初始化,声明时可以对其赋值,不能是表达式值。如果在声明中用表达式的结果对其赋值会导致解析错误。

当把一个引用(带上&的变量或对象)赋值给一个静态变量时,引用并不是静态地存储的,第二次调用函数时静态变量其值并没有被记住。同样,当把一个引用(带上&的变量或对象)赋值给global变量时,此变量的变化对函数外不起作用,作用范围只在该函数内。

PHP 相关文章推荐
php 归并排序 数组交集
May 10 PHP
php学习笔记之面向对象编程
Dec 29 PHP
浅析php与数据库代码开发规范
Aug 08 PHP
php实现模拟登陆方正教务系统抓取课表
May 19 PHP
YiiFramework入门知识点总结(图文教程)
Dec 28 PHP
注释PHP和html混合代码的小技巧(分享)
Nov 03 PHP
简单实现PHP留言板功能
Dec 21 PHP
Linux下快速搭建php开发环境
Mar 13 PHP
PHP实现的分页类定义与用法示例
Jul 05 PHP
php实现将数据做成json的格式给前端使用
Aug 21 PHP
PHP针对redis常用操作实例详解
Aug 17 PHP
解决laravel资源加载路径设置的问题
Oct 14 PHP
php模板函数 正则实现代码
Oct 15 #PHP
php mssql扩展SQL查询中文字段名解决方法
Oct 15 #PHP
PHP获取文件后缀名的三个函数
Oct 15 #PHP
php标签云的实现代码
Oct 10 #PHP
域名和cookie问题(域名后缀)
Oct 10 #PHP
记录PHP错误日志 display_errors与log_errors的区别
Oct 09 #PHP
php在程序中将网页生成word文档并提供下载的代码
Oct 09 #PHP
You might like
Yii不依赖Model的表单生成器用法实例
2014/12/04 PHP
比较简单实用的使用正则三种版本的js去空格处理方法
2007/11/18 Javascript
ASP.NET jQuery 实例17 通过使用jQuery validation插件校验ListBox
2012/02/03 Javascript
顶部缓冲下拉菜单导航特效的JS代码
2013/08/27 Javascript
我的Node.js学习之路(二)NPM模块管理
2014/07/06 Javascript
jquery验证手机号是否正确实例讲解
2015/11/17 Javascript
javascript DOM的详解及实例代码
2017/03/06 Javascript
js对象实例详解(JavaScript对象深度剖析,深度理解js对象)
2017/09/21 Javascript
vue-router 权限控制的示例代码
2017/09/21 Javascript
layui获取选中行数据的实例讲解
2018/08/19 Javascript
vue-router 中 meta的用法详解
2019/11/01 Javascript
Vue通过for循环随机生成不同的颜色或随机数的实例
2019/11/09 Javascript
Vue程序化的事件监听器(实例方案详解)
2020/01/07 Javascript
Python计算三维矢量幅度的方法
2015/06/15 Python
详细解读Python中解析XML数据的方法
2015/10/15 Python
python3使用SMTP发送简单文本邮件
2018/06/19 Python
python复制列表时[:]和[::]之间有什么区别
2018/10/16 Python
Python3基础教程之递归函数简单示例
2019/06/07 Python
基于Python实现扑克牌面试题
2019/12/11 Python
Python xlrd excel文件操作代码实例
2020/03/10 Python
协程Python 中实现多任务耗资源最小的方式
2020/10/19 Python
pytorch学习教程之自定义数据集
2020/11/10 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
2020/11/24 Python
美国最流行的男士时尚网站:Touch of Modern
2018/02/05 全球购物
俄罗斯隐形眼镜和眼镜在线商店:Cronos
2020/06/02 全球购物
网络、C以及其他硬件方面的面试题
2016/08/23 面试题
组织关系转移介绍信
2014/01/16 职场文书
小学生暑假感言
2014/02/06 职场文书
咖啡店创业计划书
2014/08/15 职场文书
团队会宣传标语
2014/10/09 职场文书
财务人员岗位职责
2015/02/03 职场文书
质量保证书格式
2015/02/27 职场文书
运动会闭幕式主持词
2015/07/01 职场文书
检讨书范文
2019/04/16 职场文书
Nginx域名转发https访问的实现
2021/03/31 Servers
Python入门之基础语法详解
2021/05/11 Python