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 相关文章推荐
mysql 字段类型说明
Apr 27 PHP
PHP备份/还原MySQL数据库的代码
Jan 06 PHP
php数组函数序列之end() - 移动数组内部指针到最后一个元素,并返回该元素的值
Oct 31 PHP
使用php将某个目录下面的所有文件罗列出来的方法详解
Jun 21 PHP
PHP文件操作方法汇总
Jul 01 PHP
PHP中foreach()用法汇总
Jul 02 PHP
php从数据库中读取特定的行(实例)
Jun 02 PHP
YII分模块加载路由的实现方法
Oct 01 PHP
laravel邮件发送的实现代码示例
Jan 31 PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
Feb 10 PHP
PHP正则之正向预查与反向预查讲解与实例
Apr 06 PHP
PHP接口类(interface)的定义、特点和应用示例
May 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
Zend的Registry机制的使用说明
2013/05/02 PHP
php中函数前加&amp;符号的作用分解
2014/07/08 PHP
php获取微信基础接口凭证Access_token
2018/08/23 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
Prototype Number对象 学习
2009/07/19 Javascript
jquery对象和DOM对象的区别介绍
2013/08/09 Javascript
jquery1.10给新增元素绑定事件的方法
2014/03/06 Javascript
JavaScript通过字符串调用函数的实现方法
2015/03/18 Javascript
jquery实现动态改变div宽度和高度
2015/05/08 Javascript
浅析JavaScript中的array数组类型系统
2016/07/18 Javascript
js本地图片预览实现代码
2016/10/09 Javascript
BootstrapTable请求数据时设置超时(timeout)的方法
2017/01/22 Javascript
React入门教程之Hello World以及环境搭建详解
2017/07/11 Javascript
vue实现登陆登出的实现示例
2017/09/15 Javascript
浅谈Node.js之异步流控制
2017/10/25 Javascript
vue源码学习之Object.defineProperty对象属性监听
2018/05/30 Javascript
Node.JS用纯JavaScript生成图片或滑块式验证码功能
2019/09/12 Javascript
js实现的在本地预览图片功能示例
2019/11/09 Javascript
extjs图表绘制之条形图实现方法分析
2020/03/06 Javascript
vue中全局路由守卫中替代this操作(this.$store/this.$vux)
2020/07/24 Javascript
Python 深入理解yield
2008/09/06 Python
Python操作列表的常用方法分享
2014/02/13 Python
跟老齐学Python之编写类之一创建实例
2014/10/11 Python
Python连接mysql数据库的正确姿势
2016/02/03 Python
TensorFlow 合并/连接数组的方法
2018/07/27 Python
Python爬虫爬取新浪微博内容示例【基于代理IP】
2018/08/03 Python
基于Python实现简单学生管理系统
2020/07/24 Python
python ssh 执行shell命令的示例
2020/09/29 Python
python中实现词云图的示例
2020/12/19 Python
安装python依赖包psycopg2来调用postgresql的操作
2021/01/01 Python
纯css3显示隐藏一个div特效的具体实现
2014/02/10 HTML / CSS
PHP如何自定义函数
2016/09/16 面试题
什么是Remote Module
2016/06/10 面试题
国家助学金感谢信
2015/01/21 职场文书
python 闭包函数详细介绍
2022/04/19 Python
css3手动实现pc端横向滚动
2022/06/21 HTML / CSS