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 相关文章推荐
WML,Apache,和 PHP 的介绍
Oct 09 PHP
基于php socket(fsockopen)的应用实例分析
Jun 02 PHP
解析如何屏蔽php中的phpinfo()函数
Jun 06 PHP
PHP函数microtime()用法与说明
Dec 04 PHP
CodeIgniter输出中文乱码的两种解决办法
Jun 12 PHP
mysql desc(DESCRIBE)命令实例讲解
Sep 24 PHP
php图像处理函数imagecopyresampled用法详解
Dec 02 PHP
php及codeigniter使用session-cookie的方法(详解)
Apr 06 PHP
php实现评论回复删除功能
May 23 PHP
PHP框架laravel的.env文件配置教程
Jun 07 PHP
Laravel Eloquent分表方法并使用模型关联的实现
Nov 25 PHP
详解php中流行的rpc框架
May 29 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下检测字符串是否是utf8编码的代码
2008/06/28 PHP
ThinkPHP行为扩展Behavior应用实例详解
2014/07/22 PHP
Ubuntu中搭建Nginx、PHP环境最简单的方法
2015/03/05 PHP
php监测数据是否成功插入到Mysql数据库的方法
2016/11/25 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
JavaScript使用push方法添加一个元素到数组末尾用法实例
2015/04/06 Javascript
nodejs通过phantomjs实现下载网页
2015/05/04 NodeJs
浅析Node.js中的内存泄漏问题
2015/06/23 Javascript
第七章之菜单按钮图标组件
2016/04/25 Javascript
详解JS几种变量交换方式以及性能分析对比
2016/11/25 Javascript
微信小程序 弹框和模态框实现代码
2017/03/10 Javascript
nodejs入门教程一:概念与用法简介
2017/04/24 NodeJs
EasyUI的TreeGrid的过滤功能的解决思路
2017/08/08 Javascript
JavaScript文件的同步和异步加载的实现代码
2017/08/19 Javascript
Vuex 在Vue 组件中获得Vuex 状态state的方法
2018/08/27 Javascript
js实现简单模态框实例
2018/11/16 Javascript
layer关闭弹出窗口触发表单提交问题的处理方法
2019/09/25 Javascript
搭建Vue从Vue-cli到router路由护卫的实现
2019/11/14 Javascript
JavaScript实现随机点名小程序
2020/10/29 Javascript
nuxt静态部署打包相对路径操作
2020/11/06 Javascript
vue 实现图片懒加载功能
2020/12/31 Vue.js
[03:14]2014DOTA2西雅图国际邀请赛 EG战队巡礼
2014/07/07 DOTA
[05:28]刀塔密之一:团结则存
2014/07/03 DOTA
flask使用session保存登录状态及拦截未登录请求代码
2018/01/19 Python
解决Tensorflow安装成功,但在导入时报错的问题
2018/06/13 Python
python学生信息管理系统(初级版)
2018/10/17 Python
python3.6使用tkinter实现弹跳小球游戏
2019/05/09 Python
稀有和绝版书籍:Biblio.com
2017/02/02 全球购物
Smallable英国家庭概念店:设计师童装及家居装饰
2017/07/05 全球购物
台湾时尚彩瞳专门店:imeime
2019/08/16 全球购物
中学生评语大全
2014/04/18 职场文书
数字化校园建设方案
2014/05/03 职场文书
人事专员岗位说明书
2014/07/29 职场文书
美德少年事迹材料500字
2014/08/19 职场文书
2019年让高校“心动”的自荐信
2019/03/25 职场文书
python爬取网页版QQ空间,生成各类图表
2021/06/02 Python