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 相关文章推荐
example1.php
Oct 09 PHP
phpMyAdmin 安装及问题总结
May 28 PHP
php下统计用户在线时间的一种尝试
Aug 26 PHP
php实现监听事件
Nov 06 PHP
新浪SAE云平台下使用codeigniter的数据库配置
Jun 12 PHP
ThinkPHP CURD方法之page方法详解
Jun 18 PHP
PHP比你想象的好得多
Nov 27 PHP
PHP使用Memcache时模拟命名空间及缓存失效问题的解决
Feb 27 PHP
php并发加锁示例
Oct 17 PHP
php  PATH_SEPARATOR判断当前服务器系统类型实例
Oct 28 PHP
PHP中递归的实现实例详解
Nov 14 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
Feb 18 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的构造方法,析构方法和this关键字详细介绍
2013/10/22 PHP
php带抄送和密件抄送的邮件发送方法
2015/03/20 PHP
jquery 插件 web2.0分格的分页脚本,可用于ajax无刷新分页
2008/12/25 Javascript
基于jquery的滚动新闻列表
2010/06/19 Javascript
Jquery+ajax请求data显示在GridView上(asp.net)
2010/08/27 Javascript
js substr支持中文截取函数代码(中文是双字节)
2013/04/17 Javascript
浅析ajax请求json数据并用js解析(示例分析)
2013/07/13 Javascript
js调试系列 控制台命令行API使用方法
2014/06/18 Javascript
js完整倒计时代码分享
2016/09/18 Javascript
微信小程序 实现拖拽事件监听实例详解
2016/11/16 Javascript
详解React Native网络请求fetch简单封装
2017/08/10 Javascript
mpvue跳转页面及注意事项
2018/08/03 Javascript
Nodejs Express 通过log4js写日志到Logstash(ELK)
2018/08/30 NodeJs
react+redux仿微信聊天界面
2019/06/21 Javascript
vue实现日历备忘录功能
2020/09/24 Javascript
js实现窗口全屏示例详解
2019/09/17 Javascript
nuxt配置通过指定IP和端口访问的实现
2020/01/08 Javascript
Python使用代理抓取网站图片(多线程)
2014/03/14 Python
Python3实现生成随机密码的方法
2014/08/23 Python
深入理解python多进程编程
2016/06/12 Python
tensorflow学习教程之文本分类详析
2018/08/07 Python
解决python3捕获cx_oracle抛出的异常错误问题
2018/10/18 Python
django框架使用方法详解
2019/07/18 Python
keras做CNN的训练误差loss的下降操作
2020/06/22 Python
整理HTML5中支持的URL编码与字符编码
2016/02/23 HTML / CSS
实例讲解利用HTML5 Canvas API操作图形旋转的方法
2016/03/22 HTML / CSS
Melissa鞋马来西亚官方网站:MDreams马来西亚
2018/04/05 全球购物
三陽商会官方网站:Sanyo iStore
2019/05/15 全球购物
教师年终个人自我评价
2013/10/04 职场文书
医学专业毕业生个人求职信
2013/12/25 职场文书
《王二小》教学反思
2014/02/27 职场文书
大家访活动实施方案
2014/03/10 职场文书
给公司的建议书范文
2014/05/13 职场文书
法定代表人授权委托书格式
2014/10/14 职场文书
少先大队干部竞选稿
2015/11/20 职场文书
SpringCloud Alibaba项目实战之nacos-server服务搭建过程
2021/06/21 Java/Android