php学习之 认清变量的作用范围


Posted in PHP onJanuary 26, 2010

任务2:认清变量的作用范围

⚑局部变量与全局变量

变量的存在有着它的生命周期,我们可以让它存在于一个小的函数内部,也可让它存在于整个程序当中。对于一般情况下声明的变量,我们称之为局部变量,只能在当前程序段中存在,而使用$globals声明出来的变量则是在当前页面整个程序当中都会有效。

例:

<?php 
$a=1; 
$b=2; 
function sum() 
{$a; 
$b; 
$b=$a+$b; 
} 
sum(); 
echo$b; 
?>

在这段程序当中,
第2至3行,我们建立了两个变量a和b并分别给其赋值为1和2。
第3行至第7行,我们定义了一个自加的函数sum(),其作用是让sum内部的变量a和b进行相加,并将加得的值赋给b。
第8行,调用sum函数。
第9行,用echo将b的值输出。
可能有人会认为此时在网页上输出的值一定是3,但是运行后你会发现,值还是为2,也就是b原先的值。这就是局部变量的原因造成的,在第2至3行当中声明的变量无法在sum()函数中使用,也就是说,sum函数中使用的a和b和第2至3行中a和b只是名字相同,但两者之间毫无关系。所以,在最终输出的b也就是第3行b的值了。

但如果,我们将程序修改下面的样式:

<?php 
$a=1; 
$b=2; 
function sum() 
{ 
global $a,$b; 
$b=$a+$b; 
} 
sum(); 
echo $b; 
?>

我们发现,在sum函数中,我们给变量a和b加上了一个global修饰符,这个时候,a和b就和函数外的a和b建立上了关系,它们就是同一个变量了。因此,这个程序在运行的时候,其结果就为3了。因此,我们在声明全局变量时,只需在局部使用它们时(本例中是在函数sum中),给它们加上一个修饰符global,它们就可以继承外部的值,也就不再是局部变量了。
PHP 相关文章推荐
PHP 5.0对象模型深度探索之绑定
Sep 05 PHP
杏林同学录(一)
Oct 09 PHP
一个数据采集类
Feb 14 PHP
dede全站URL静态化改造[070414更正]
Apr 17 PHP
php中通过curl检测页面是否被百度收录
Sep 27 PHP
浅析php中json_encode()和json_decode()
May 25 PHP
PHP中strlen()和mb_strlen()的区别浅析
Jun 19 PHP
PHP文件下载实例代码浅析
Aug 17 PHP
PHP实现添加购物车功能
Mar 06 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
Aug 29 PHP
Yii2.0实现的批量更新及批量插入功能示例
Jan 29 PHP
基于Laravel(5.4版本)的基本增删改查操作方法
Oct 11 PHP
PHP 变量的定义方法
Jan 26 #PHP
php cout&amp;lt;&amp;lt;的一点看法
Jan 24 #PHP
php addslashes和mysql_real_escape_string
Jan 24 #PHP
PHPMailer 中文使用说明小结
Jan 22 #PHP
关于php fread()使用技巧
Jan 22 #PHP
PHP 时间转换Unix时间戳代码
Jan 22 #PHP
PHP 实用代码收集
Jan 22 #PHP
You might like
如何用PHP实现插入排序?
2013/04/10 PHP
Java中final关键字详解
2015/08/10 PHP
PHP经典面试题之设计模式(经常遇到)
2015/10/15 PHP
在JavaScript中监听IME键盘输入事件
2011/05/29 Javascript
js使用函数绑定技术改变事件处理程序的作用域
2011/12/26 Javascript
jquery控制左右箭头滚动图片列表的实例
2013/05/20 Javascript
简单纯js实现点击切换TAB标签实例
2015/08/23 Javascript
javascript使用Promise对象实现异步编程
2016/03/01 Javascript
javascript 判断是否是微信浏览器的方法
2016/10/09 Javascript
微信小程序 生命周期和页面的生命周期详细介绍
2017/01/19 Javascript
详解webpack打包vue时提取css
2017/05/26 Javascript
angularJs 表格添加删除修改查询方法
2018/02/27 Javascript
微信小程序实现简单文字跑马灯
2020/05/26 Javascript
详解React中共享组件逻辑的三种方式
2021/02/02 Javascript
Python 自动安装 Rising 杀毒软件
2009/04/24 Python
解决uWSGI的编码问题详解
2017/03/24 Python
Python语言实现百度语音识别API的使用实例
2017/12/13 Python
Django中redis的使用方法(包括安装、配置、启动)
2018/02/21 Python
Python学生信息管理系统修改版
2018/03/13 Python
浅谈Tensorflow由于版本问题出现的几种错误及解决方法
2018/06/13 Python
python实现五子棋小程序
2019/06/18 Python
python实现翻转棋游戏(othello)
2019/07/29 Python
Python pandas库中的isnull()详解
2019/12/26 Python
史泰博(Staples)中国官方网站:办公用品一站式采购
2016/09/05 全球购物
Chemist Warehouse官方海外旗舰店:澳洲第一连锁大药房
2017/08/25 全球购物
手工制作的男士奢华英国鞋和服装之家:Goodwin Smith
2019/06/21 全球购物
应届毕业生个人自荐信范文
2013/11/30 职场文书
应用英语专业自荐信
2014/01/26 职场文书
设计顾问服务计划书
2014/05/04 职场文书
销售活动策划方案
2014/08/26 职场文书
2014年党员整改措施
2014/10/24 职场文书
刑事附带民事代理词
2015/05/25 职场文书
教师病假条范文
2015/08/17 职场文书
《怀念母亲》教学反思
2016/02/19 职场文书
Python OpenCV快速入门教程
2021/04/17 Python
使用Pytorch实现two-head(多输出)模型的操作
2021/05/28 Python