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 相关文章推荐
PHP:风雨欲来 路在何方?
Oct 09 PHP
1.PHP简介
Oct 09 PHP
风格模板初级不完全修改教程
Oct 09 PHP
令PHP初学者头疼十四条问题大总结
Nov 12 PHP
php更新修改excel中的内容实例代码
Feb 26 PHP
ThinkPHP CURD方法之data方法详解
Jun 18 PHP
destoon常用的安全设置概述
Jun 21 PHP
php+ajax实现的点击浏览量加1
Apr 16 PHP
php中get_defined_constants函数用法实例分析
May 12 PHP
PHP中对数组的一些常用的增、删、插操作函数总结
Nov 27 PHP
Laravel网站打开速度优化的方法汇总
Jul 16 PHP
PHP实现发送微博消息功能完整示例
Dec 04 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 empty,isset,is_null判断比较(差异与异同)
2010/10/19 PHP
php接口数据加密、解密、验证签名
2015/03/12 PHP
PHP5.4起内置web服务器使用方法
2016/08/09 PHP
php中让人头疼的浮点数运算分析
2016/10/10 PHP
thinkPHP数据查询常用方法总结【select,find,getField,query】
2017/03/15 PHP
面向对象的Javascript之三(封装和信息隐藏)
2012/01/27 Javascript
Google的跟踪代码 动态加载js代码方法应用
2012/11/12 Javascript
JavaScript淡入淡出渐变简单实例
2015/08/06 Javascript
KnockoutJs快速入门教程
2016/05/16 Javascript
js获取iframe中的window对象的实现方法
2016/05/20 Javascript
JQuery的常用选择器、过滤器、方法全面介绍
2016/05/25 Javascript
JS获取鼠标选中的文字
2016/08/10 Javascript
js导出excel文件的简洁方法(推荐)
2016/11/02 Javascript
详解探索 vuex 2.0 以及使用 vuejs 2.0 + vuex 2.0 构建记事本应用
2017/06/16 Javascript
JS求Number类型数组中最大元素方法
2018/04/08 Javascript
VSCode中如何利用d.ts文件进行js智能提示
2018/04/13 Javascript
微信小程序实现红包雨功能
2018/07/11 Javascript
JavaScript中Dom操作实例详解
2019/07/08 Javascript
python3.3实现乘法表示例
2014/02/07 Python
python MySQLdb Windows下安装教程及问题解决方法
2015/05/09 Python
详解Python字符串切片
2019/05/20 Python
python绘制直方图和密度图的实例
2019/07/08 Python
Python 根据数据模板创建shapefile的实现
2019/11/26 Python
python matplotlib库的基本使用
2020/09/23 Python
python从PDF中提取数据的示例
2020/10/30 Python
python脚本使用阿里云slb对恶意攻击进行封堵的实现
2021/02/04 Python
骆驼官方商城:CAMEL
2016/11/22 全球购物
一个精品风格的世界:Atterley
2019/05/01 全球购物
Java基础面试题
2014/07/19 面试题
大学生个人推荐信范文
2013/11/25 职场文书
学校学雷锋活动总结
2014/06/26 职场文书
班级读书活动总结
2014/06/30 职场文书
行政求职信
2014/07/04 职场文书
厨师长岗位职责范本
2014/08/25 职场文书
2016党校学习心得体会
2016/01/07 职场文书
如何用JavaScript检测当前浏览器是无头浏览器
2021/04/27 Javascript