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 相关文章推荐
PHP4实际应用经验篇(6)
Oct 09 PHP
PHP下利用header()函数设置浏览器缓存的代码
Sep 01 PHP
浅析application/x-www-form-urlencoded和multipart/form-data的区别
Jun 22 PHP
PHP管理依赖(dependency)关系工具 Composer 安装与使用
Aug 18 PHP
如何让搜索引擎抓取AJAX内容解决方案
Aug 25 PHP
PHP传值到不同页面的三种常见方式及php和html之间传值问题
Nov 19 PHP
php微信浏览器分享设置以及回调详解
Aug 01 PHP
基于php实现的php代码加密解密类完整实例
Oct 12 PHP
PHP弱类型语言中类型判断操作实例详解
Aug 10 PHP
PHP数据库编程之MySQL优化策略概述
Aug 16 PHP
Laravel向公共模板赋值方法总结
Jun 25 PHP
PHP Swoole异步读取、写入文件操作示例
Oct 24 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
ThinkPHP验证码使用简明教程
2014/03/05 PHP
php中namespace及use用法分析
2016/12/06 PHP
php利用ffmpeg提取视频中音频与视频画面的方法详解
2017/06/07 PHP
PHP检测接口Traversable用法详解
2017/12/29 PHP
PHP笛卡尔积实现算法示例
2018/07/30 PHP
PHP快速导出百万级数据到CSV或者EXCEL文件
2020/11/27 PHP
JavaScript基本数据类型及值类型和引用类型
2015/08/25 Javascript
EasyUI创建对话框的两种方式
2016/08/23 Javascript
用v-html解决Vue.js渲染中html标签不被解析的问题
2016/12/14 Javascript
详解vue-cli 脚手架项目-package.json
2017/07/04 Javascript
史上最全JavaScript数组去重的十种方法(推荐)
2017/08/17 Javascript
JavaScript实现修改伪类样式
2017/11/27 Javascript
jQuery实现基本淡入淡出效果的方法详解
2018/09/05 jQuery
vue微信分享的实现(在当前页面分享其他页面)
2019/04/16 Javascript
微信小程序 如何保持登录状态
2019/08/16 Javascript
Node.js设置定时任务之node-schedule模块的使用详解
2020/04/28 Javascript
Vue通过provide inject实现组件通信
2020/09/03 Javascript
[01:59]翻天覆地,因你而变,7.20版本地图更新速览
2018/11/24 DOTA
python读取TXT每行,并存到LIST中的方法
2018/10/26 Python
解决Keras 中加入lambda层无法正常载入模型问题
2020/06/16 Python
基于Python的身份证验证识别和数据处理详解
2020/11/14 Python
Python使用pyenv实现多环境管理
2021/02/05 Python
意大利在线高尔夫商店:Online Golf
2021/03/09 全球购物
令人啧啧称赞的经理推荐信
2013/11/07 职场文书
办理信用卡工作证明
2014/01/11 职场文书
中国文明网签名寄语
2014/01/18 职场文书
好人好事事迹材料
2014/02/12 职场文书
《油菜花开了》教学反思
2014/02/22 职场文书
政法学院毕业生求职信
2014/02/28 职场文书
酒店端午节活动方案
2014/08/26 职场文书
教师国庆节演讲稿范文2014
2014/09/21 职场文书
带刀到教室的检讨书
2014/10/04 职场文书
解除施工合同协议书
2014/10/17 职场文书
违反工作规定检讨书范文
2014/12/14 职场文书
2015年保安个人工作总结
2015/04/02 职场文书
公司出差管理制度范本
2015/08/05 职场文书