当前位置: 首页 > 图文教程 > 网络编程 > PHP > php学习之 认清变量的作用范围

PHP
PHP技巧:详解phplib模板使用过程及运行原理
PHP技巧:Smarty+adodb分页示例
PHP技巧:PHP脚本中关于拼写检查函数库
PHP技巧:PHP脚本编程中的文件系统函数库
PHP技巧:PHP中几种删除目录的三种方法
学习PHP技术:txtSQL安装手册中文版
学习PHP:PHP的通用检测函数总结
详细学习PHP中对文件和目录的操作方法
PHP+MYSQL实例:网站在线人数的程序代码
Linux操作系统启动httpd失败的解决方法
初学:在PHP开发中如何使用Session?
PHP初学者遇到的中文乱码解决方案
PHP实例:实现文件上传的程序源码
PHP实例:常用的数值判断函数
PHP实例源代码:PHP实现翻页处理的类
PHP实例:从数组里筛选出重复的数据
PHP实例:用PHP实现windows风格的树型菜单
PHP实例程序:实现给上传图片加水印图案的做法
PHP实例:用PHP编写的网上调查投票系统
PHP实例:一个非常全面获取图象信息的PHP函数

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-02-27   浏览: 42 ::
收藏到网摘: n/a

变量的存在有着它的生命周期,我们可以让它存在于一个小的函数内部,也可让它存在于整个程序当中。对于一般情况下声明的变量,我们称之为局部变量,只能在当前程序段中存在,而使用$globals声明出来的变量则是在当前页面整个程序当中都会有效。 任务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,它们就可以继承外部的值,也就不再是局部变量了。