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获取网络上文件
Oct 09 PHP
PHP 面向对象 PHP5 中的常量
May 05 PHP
PHP操作MongoDB GridFS 存储文件的详解
Jun 20 PHP
Destoon模板制作简明教程
Jun 20 PHP
php实现屏蔽掉黑帽SEO的搜索关键字
Apr 15 PHP
WordPress开发中用于获取近期文章的PHP函数使用解析
Jan 05 PHP
Zend Framework教程之Zend_Controller_Plugin插件用法详解
Mar 07 PHP
php实现计算百度地图坐标之间距离的方法
May 05 PHP
完美解决phpdoc导出文档中@package的warning及Error的错误
May 17 PHP
DWZ+ThinkPHP开发时遇到的问题分析
Dec 12 PHP
利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
Jun 27 PHP
Laravel多用户认证系统示例详解
Mar 13 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
PHP children()函数讲解
2019/02/03 PHP
php curl发送请求实例方法
2019/08/01 PHP
json跟xml的对比分析
2008/06/10 Javascript
javascript Demo模态窗口
2009/12/06 Javascript
jquery 最简单易用的表单验证插件
2010/02/27 Javascript
jQuery对象与DOM对象之间的相互转换
2015/03/03 Javascript
jQuery事件绑定on()、bind()与delegate() 方法详解
2015/06/03 Javascript
JS实现下拉菜单赋值到文本框的方法
2015/08/18 Javascript
JS实现的简洁二级导航菜单雏形效果
2015/10/13 Javascript
原生js模拟淘宝购物车项目实战
2015/11/18 Javascript
javascript针对cookie的基本操作实例详解
2015/11/30 Javascript
基于jquery编写分页插件
2016/03/07 Javascript
使用JQuery 加载页面时调用JS的实现方法
2016/05/30 Javascript
jQuery EasyUI tree 使用拖拽时遇到的错误小结
2016/10/10 Javascript
微信小程序 欢迎界面开发的实例详解
2016/11/30 Javascript
JS 实现随机验证码功能
2017/02/15 Javascript
在javaScript中检测数据类型的几种方式小结
2017/03/04 Javascript
微信小程序中子页面向父页面传值实例详解
2017/03/20 Javascript
利用JavaScript在网页实现八数码启发式A*算法动画效果
2017/04/16 Javascript
细说webpack源码之compile流程-rules参数处理技巧(1)
2017/12/26 Javascript
基于vue开发的在线付费课程应用过程
2018/01/25 Javascript
模块化react-router配置方法详解
2019/06/03 Javascript
layui实现checkbox的目录树tree的例子
2019/09/12 Javascript
nuxt配置通过指定IP和端口访问的实现
2020/01/08 Javascript
Python爬虫中urllib库的进阶学习
2018/01/05 Python
Python简单实现的代理服务器端口映射功能示例
2018/04/08 Python
Django ORM filter() 的运用详解
2020/05/14 Python
Hotels.com中国区:好订网
2016/08/18 全球购物
如何写一个自定义标签
2012/12/28 面试题
送货司机岗位职责
2013/12/11 职场文书
面试后感谢信怎么写
2014/02/01 职场文书
申报优秀教师材料
2014/12/16 职场文书
中班教师个人总结
2015/02/05 职场文书
乡镇团委工作总结2015
2015/05/26 职场文书
经典爱情感言
2015/08/03 职场文书
MySQL的表级锁,行级锁,排它锁和共享锁
2022/07/15 MySQL