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
php面向对象全攻略 (十七) 自动加载类
Sep 30 PHP
PHP 柱状图实现代码
Dec 04 PHP
php模拟socket一次连接,多次发送数据的实现代码
Jul 26 PHP
PHP生成指定长度随机数最简洁的方法
Jul 14 PHP
smarty模板引擎中内建函数if、elseif和else的使用方法
Jan 22 PHP
PHP中的socket_read和socket_recv区别详解
Feb 09 PHP
Laravel 5框架学习之Blade 简介
Apr 08 PHP
详解Yii2 定制表单输入字段的标签和样式
Jan 04 PHP
laravel withCount 统计关联数量的方法
Oct 10 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
Feb 27 PHP
PHP 99乘法表的几种实现代码
Oct 13 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
日本因肺炎疫情影响,这几部动漫推延播放!
2020/03/03 日漫
杏林同学录(六)
2006/10/09 PHP
php小型企业库存管理系统的设计与实现代码
2011/05/16 PHP
PHP结合jQuery实现找回密码
2015/07/22 PHP
PHP实现的简单缓存类
2015/07/29 PHP
Laravel 集成 Geetest验证码的方法
2018/05/14 PHP
PHP的HTTP客户端Guzzle简单使用方法分析
2019/10/30 PHP
LBS blog sql注射漏洞[All version]-官方已有补丁
2007/08/26 Javascript
javascript 获取表单file全路径
2009/12/31 Javascript
如何使用Javascript正则表达式来格式化XML内容
2013/07/04 Javascript
JQuery ztree带筛选、异步加载实例讲解
2016/02/25 Javascript
浅谈对Angular中的生命周期钩子的理解
2017/07/31 Javascript
详解vue项目的构建,打包,发布全过程
2017/11/23 Javascript
AngularJS集合数据遍历显示的实例
2017/12/27 Javascript
基于webpack4搭建的react项目框架的方法
2018/06/30 Javascript
jQuery实现的页面弹幕效果【测试可用】
2018/08/17 jQuery
ES6中let 和 const 的新特性
2018/09/03 Javascript
Vue CLI3 开启gzip压缩文件的方式
2018/09/30 Javascript
浅谈layui 数据表格前后台传值的问题
2019/09/12 Javascript
layui点击弹框页面 表单请求的方法
2019/09/21 Javascript
详解搭建一个vue-cli的移动端H5开发模板
2020/01/17 Javascript
Vue 电商后台管理项目阶段性总结(推荐)
2020/08/22 Javascript
微信小程序实现天气预报功能(附源码)
2020/12/10 Javascript
python发布模块的步骤分享
2014/02/21 Python
如何用Python实现简单的Markdown转换器
2018/07/16 Python
python输入多行字符串的方法总结
2019/07/02 Python
在Python中等距取出一个数组其中n个数的实现方式
2019/11/27 Python
Python制作运行进度条的实现效果(代码运行不无聊)
2021/02/24 Python
CSS3 实现侧边栏展开收起动画
2014/12/22 HTML / CSS
英国知名衬衫品牌美国网站:Charles Tyrwhitt美国
2016/08/28 全球购物
资深生产主管自我评价
2013/09/22 职场文书
工程质量承诺书
2014/03/27 职场文书
学校周年庆活动方案
2014/08/22 职场文书
师德自我剖析材料范文
2014/10/06 职场文书
创业计划书之溜冰场
2019/10/25 职场文书
pytorch 预训练模型读取修改相关参数的填坑问题
2021/06/05 Python