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 mail 通过Windows的SMTP发送邮件失败的解决方案
May 27 PHP
让的PHP代码飞起来的40条小技巧(提升php效率)
Apr 12 PHP
simplehtmldom Doc api帮助文档
Mar 26 PHP
Php header()函数语法及使用代码
Nov 04 PHP
php生成短网址示例
May 05 PHP
thinkphp实现面包屑导航(当前位置)例子分享
May 10 PHP
CodeIgniter使用smtp服务发送html邮件的方法
Jun 10 PHP
PHP正则验证Email的方法
Jun 15 PHP
详解YII关联查询
Jan 10 PHP
9个比较实用的php代码片段
Mar 15 PHP
thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
May 29 PHP
laravel 使用auth编写登录的方法
Sep 30 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求最大子序列和的算法实现
2011/06/24 PHP
分享下php5类中三种数据类型的区别
2015/01/26 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
2018/03/31 PHP
pjblog中的UBBCode.js
2007/04/25 Javascript
cookie丢失问题(认证失效) Authentication (用户验证信息)也会丢失
2009/06/04 Javascript
测试JavaScript字符串处理性能的代码
2009/12/07 Javascript
formStorage 基于jquery的一个插件(存储表单中元素的状态到本地)
2012/01/20 Javascript
a标签click和href执行顺序探讨
2014/06/23 Javascript
jQuery分组选择器用法实例
2014/12/23 Javascript
在JavaScript中使用JSON数据
2016/02/15 Javascript
JavaScript实现复制内容到粘贴板代码
2016/03/31 Javascript
jQuery Ajax页面局部加载方法汇总
2016/06/02 Javascript
backbone简介_动力节点Java学院整理
2017/07/14 Javascript
JavaScript对JSON数组简单排序操作示例
2019/01/31 Javascript
简单了解JavaScript中常见的反模式
2019/06/21 Javascript
node使用mysql获取数据库数据中文乱码问题的解决
2019/12/02 Javascript
解决pycharm双击但是无法打开的情况
2020/10/31 Javascript
angular8.5集成TinyMce5的使用和详细配置(推荐)
2020/11/16 Javascript
vue3.0 自适应不同分辨率电脑的操作
2021/02/06 Vue.js
Python实现的几个常用排序算法实例
2014/06/16 Python
简介Django框架中可使用的各类缓存
2015/07/23 Python
python用装饰器自动注册Tornado路由详解
2017/02/14 Python
Python解释器以及PyCharm的安装教程图文详解
2020/02/26 Python
python json load json 数据后出现乱序的解决方案
2020/02/27 Python
自定义Django默认的sitemap站点地图样式
2020/03/04 Python
在Sublime Editor中配置Python环境的详细教程
2020/05/03 Python
Pretty Little Thing美国:时尚女性服饰
2018/08/27 全球购物
Diamondback自行车:拥有你的冒险
2019/04/22 全球购物
服装设计行业个人的自我评价
2013/12/20 职场文书
大学老师推荐信
2014/02/25 职场文书
全国文明单位申报材料
2014/05/31 职场文书
关于读书的演讲稿1000字
2014/08/27 职场文书
工伤私了协议书范本
2014/11/24 职场文书
教师思想工作总结2015
2015/05/13 职场文书
运动会广播稿50字
2015/08/19 职场文书
2016年小学植树节活动总结
2016/03/16 职场文书