php 静态变量与自定义常量的使用方法


Posted in PHP onJanuary 26, 2010

⚑ 静态变量的声明与使用
⚑ 自定义常量的使用方式

什么是静态变量?
静态变量是指用static声明的变量,这种变量与局部变量的区别是,当静态变量离开了它的作用范围后,它的值不会自动消亡,而是继续存在,当下次再用到它的时候,可以保留最近一次的值。
下面举例:

<?php 
function add() 
{ 
static $i=0; 
$i++; 
echo $i; 
} 
add(); 
echo " "; 
add(); 
?>

这段程序中,主要定义了一个函数add(),然后分两次调用add()。
如果用局部变量的方式来分工这段代码,两次的输出应该都是1。但实际输出却是1和2。
这是因为,变量i在声明的时候被加上了一个修饰符static,这就标志着i变量在add()函数内部就是一个静态变量了,具备记忆自身值的功能,当第一次调用add时,i由于自加变成了1,这个时候,i就记住自己不再是0,而是1了,当我们再次调用add时,i再一次自加,由1变成了2。由此,我们就可以看出静态变量的特性了。
什么是自定义常量?
所谓自定义常量,就是指用一个字符标识来代表另外一个对象,这个对象可以是一个数值,一个字符串,一个布尔值等等。它的定义与变量有着许多相似之处。只有一点不一样,那就是变量的值在程序运行过程中可以任意更改,而自定义常量一旦定义下来后,在程序运行中就再也不能修改了。
定义方式如下:
define("YEAR","2012");
使用define关键字来将2012这个字符串绑定到YEAR上来,以后在程序当中出现YEAR的地方就用2012来代替。一般情况下,我们定义常量时,常量名都使用大写字母。
例:
<?php 
define("YEAR","2012"); 
define("MONTH","12"); 
define("DATE","21"); 
define("THING","Doomsday"); 
echo YEAR."-".MONTH."-".DATE." ".THING; 
?>

这段程序中,定义了四个常量,分别是YEAR,MONTH,DATE,THING,它们对应的值分别是2012,12,21,Doomsday,当我们用echo将它们连起来显示时,与变量不同的地方就在于没有使用“$”。
它的运行结果是:2012-12-21 Doomsday。
PHP 相关文章推荐
php5 mysql分页实例代码
Apr 10 PHP
win7下memCache的安装过程(具体操作步骤)
Jun 28 PHP
Yii实现多按钮保存与提交的方法
Dec 03 PHP
php可生成缩略图的文件上传类实例
Dec 17 PHP
使用GD库生成带阴影文字的图片
Mar 27 PHP
php语言的7种基本的排序方法
Dec 28 PHP
php实现生成验证码实例分享
Apr 10 PHP
PHP命名空间namespace用法实例分析
Sep 27 PHP
微信公众号开发客服接口实例代码
Oct 21 PHP
php从数据库读取数据,并以json格式返回数据的方法
Aug 21 PHP
Laravel框架中集成MongoDB和使用详解
Oct 17 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
Feb 21 PHP
php学习之 认清变量的作用范围
Jan 26 #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
You might like
php 文件上传系统手记
2009/10/26 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
2018/02/08 PHP
Javascript写了一个清除“logo1_.exe”的杀毒工具(可扫描目录)
2007/02/09 Javascript
Ext 表单布局实例代码
2009/04/30 Javascript
jQuery下通过$.browser来判断浏览器.
2011/04/05 Javascript
浅析js封装和作用域
2013/07/09 Javascript
JavaScript检测浏览器cookie是否已经启动的方法
2015/02/27 Javascript
js实现网站最上边可关闭的浮动广告条代码
2015/09/04 Javascript
Node.js实用代码段之正确拼接Buffer
2016/03/17 Javascript
Javascript日期格式化format函数的使用方法
2016/08/30 Javascript
jQuery表单对象属性过滤选择器实例详解
2016/09/13 Javascript
微信小程序  网络请求API详解
2016/10/25 Javascript
js如何获取网页所有图片
2017/05/12 Javascript
微信小程序 Buffer缓冲区的详解
2017/07/06 Javascript
详解Angular2表单-模板驱动的表单(Template-Driven Forms)
2017/08/04 Javascript
Node解决简单重复问题系列之Excel内容的获取
2018/01/02 Javascript
Javascript实现秒表倒计时功能
2018/11/17 Javascript
浅谈webpack devtool里的7种SourceMap模式
2019/01/14 Javascript
谈谈为什么你的 JavaScript 代码如此冗长
2019/01/30 Javascript
Vue 动态路由的实现及 Springsecurity 按钮级别的权限控制
2019/09/05 Javascript
关于ES6尾调用优化的使用
2020/09/11 Javascript
[43:43]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第三场 11.29
2020/12/02 DOTA
用python实现简单EXCEL数据统计的实例
2017/01/24 Python
python 显示数组全部元素的方法
2018/04/19 Python
Python图片转换成矩阵,矩阵数据转换成图片的实例
2018/07/02 Python
python读取Excel实例详解
2018/08/17 Python
python 利用openpyxl读取Excel表格中指定的行或列教程
2021/02/06 Python
世界上最受欢迎的钓鱼诱饵:Rapala
2019/05/02 全球购物
豪华床上用品、床单和浴室必需品:Peacock Alley
2019/09/04 全球购物
英国行业制服供应商:Alexandra
2019/09/14 全球购物
Diesel美国网上商店:意大利牛仔时装品牌
2020/12/10 全球购物
优秀学生事迹材料
2014/02/08 职场文书
五年后的职业生涯规划
2014/03/04 职场文书
大学国际贸易专业自荐信
2014/06/05 职场文书
企业2014年度工作总结
2014/12/10 职场文书
浅谈如何提高PHP代码质量之单元测试
2021/05/28 PHP