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类
Jul 15 PHP
几种有用的变型 PHP中循环语句的用法介绍
Jan 30 PHP
PHP判断搜索引擎蜘蛛并自动记忆到文件的代码
Feb 04 PHP
Windows下部署Apache+PHP+MySQL运行环境实战
Aug 31 PHP
php根据操作系统转换文件名大小写的方法
Feb 24 PHP
简单的php新闻发布系统教程
May 09 PHP
PHP中调用SVN命令更新网站方法
Jan 07 PHP
php计划任务之ignore_user_abort函数实现方法
Jan 08 PHP
php计算数组相同值出现次数的代码(array_count_values)
Jan 20 PHP
详解WordPress中分类函数wp_list_categories的使用
Jan 04 PHP
laravel 出现command not found问题的解决方案
Oct 23 PHP
Laravel框架Eloquent ORM简介、模型建立及查询数据操作详解
Dec 04 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 Static关键字实用方法
2010/06/04 PHP
基于PHP读取csv文件内容的详解
2013/06/18 PHP
Laravel框架中VerifyCsrfToken报错问题的解决
2017/08/30 PHP
Laravel实现批量更新多条数据
2020/04/06 PHP
javascript 遍历验证所有文本框的值
2009/08/27 Javascript
简短几句jquery代码的实现一个图片向上滚动切换
2011/09/02 Javascript
用javascript模仿ie的自动完成类似自动完成功的表单
2012/12/12 Javascript
简略说明Javascript中的= =(等于)与= = =(全等于)区别
2013/04/16 Javascript
解析ScrollPic在ie8下只滚动一遍,然后变为空白 ie6,ie7,chrome,firefox正常
2013/06/26 Javascript
Javascript基础 函数“重载” 详细介绍
2013/10/25 Javascript
在javascript中如何得到中英文混合字符串的长度
2014/01/17 Javascript
require.js深入了解 require.js特性介绍
2014/09/04 Javascript
js clearInterval()方法的定义和用法
2015/11/11 Javascript
Bootstrap表单Form全面解析
2016/06/13 Javascript
Javascript中的数组常用方法解析
2016/06/17 Javascript
Js删除数组中某一项或几项的几种方法(推荐)
2016/07/27 Javascript
JSON在Javascript中的使用(eval和JSON.parse的区别)详细解析
2017/09/05 Javascript
浅谈Vue路由快照实现思路及其问题
2018/06/07 Javascript
深入浅析angular和vue还有jquery的区别
2018/08/13 jQuery
搭建一个nodejs脚手架的方法步骤
2019/06/28 NodeJs
[01:21]辉夜杯战队访谈宣传片—CDEC
2015/12/25 DOTA
[48:21]Mski vs VGJ.S Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
tensorflow1.0学习之模型的保存与恢复(Saver)
2018/04/23 Python
Python爬虫——爬取豆瓣电影Top250代码实例
2019/04/17 Python
pyqt 实现在Widgets中显示图片和文字的方法
2019/06/13 Python
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
2019/07/18 Python
Python序列化pickle模块使用详解
2020/03/05 Python
详解Pytorch显存动态分配规律探索
2020/11/17 Python
英国最受欢迎的手表网站:Watch Shop
2016/10/21 全球购物
俄罗斯珠宝市场的领导者之一:Бронницкий ювелир
2019/10/02 全球购物
《神奇的克隆》教学反思
2014/04/10 职场文书
企业活动策划方案
2014/06/02 职场文书
乡镇团代会开幕词
2016/03/04 职场文书
SpringBoot整合MongoDB的实现步骤
2021/06/23 MongoDB
根德5570型九灯四波段立体声收音机是电子管收音机的楷模 ? 再论5570
2022/04/05 无线电
table设置超出部分隐藏,鼠标移上去显示全部内容的方法
2022/12/24 HTML / CSS