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中转义mysql语句的实现代码
Jun 24 PHP
php smarty截取中文字符乱码问题?gb2312/utf-8
Nov 07 PHP
php代码中使用换行及(\n或\r\n和br)的应用
Feb 02 PHP
ie与session丢失(新窗口cookie丢失)实测及解决方案
Jul 15 PHP
PHP防止注入攻击实例分析
Nov 03 PHP
php结合mysql与mysqli扩展处理事务的方法
Jun 29 PHP
php获取服务器操作系统相关信息的方法
Oct 08 PHP
PHP新特性之字节码缓存和内置服务器
Aug 11 PHP
PHP数据库操作二:memcache用法分析
Aug 16 PHP
解决laravel中日志权限莫名变成了root的问题
Oct 17 PHP
确保Laravel网站不会被嵌入到其他站点中的方法
Oct 18 PHP
基于php解决json_encode中文UNICODE转码问题
Nov 10 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实现找出有序数组中绝对值最小的数算法分析
2017/08/07 PHP
javascript下4个跨浏览器必备的函数
2010/03/07 Javascript
用apply让javascript函数仅执行一次的代码
2010/06/27 Javascript
jquery隐藏标签和显示标签的实例
2013/11/11 Javascript
jQuery进行组件开发完整实例
2015/12/15 Javascript
Bootstrap3.0学习教程之JS折叠插件
2016/05/27 Javascript
Angular4学习教程之HTML属性绑定的方法
2018/01/04 Javascript
个人小程序接入支付解决方案
2019/05/23 Javascript
JS对象属性的检测与获取操作实例分析
2020/03/17 Javascript
vue循环中点击选中再点击取消(单选)的实现
2020/09/10 Javascript
使用Python编写一个简单的tic-tac-toe游戏的教程
2015/04/16 Python
利用Python爬取微博数据生成词云图片实例代码
2017/08/31 Python
python机器学习实战之最近邻kNN分类器
2017/12/20 Python
Python中join函数简单代码示例
2018/01/09 Python
python使用TensorFlow进行图像处理的方法
2018/02/28 Python
python微元法计算函数曲线长度的方法
2018/11/08 Python
Python异常处理知识点总结
2019/02/18 Python
Python字符串的常见操作实例小结
2019/04/08 Python
pytorch 实现将自己的图片数据处理成可以训练的图片类型
2020/01/08 Python
Keras保存模型并载入模型继续训练的实现
2021/02/20 Python
精选鞋类、服装和配饰的全球领先目的地:Bodega
2021/02/27 全球购物
家乐福台湾线上购物网:Carrefour台湾
2020/09/15 全球购物
巴西24小时在线药房:Drogasil
2020/06/20 全球购物
软件工程专业推荐信
2013/10/28 职场文书
英语系毕业生自荐信
2013/10/31 职场文书
留学顾问岗位职责
2014/04/14 职场文书
旅行社优秀创业计划书
2014/08/16 职场文书
认错检讨书
2014/10/02 职场文书
工作作风懒散检讨书
2014/10/29 职场文书
师德先进个人事迹材料
2014/12/19 职场文书
nginx 防盗链防爬虫配置详解
2021/03/31 Servers
Python list去重且保持原顺序不变的方法
2021/04/03 Python
MySQL单表千万级数据处理的思路分享
2021/06/05 MySQL
德劲DE1107指针试高灵敏度全波段收音机机评
2022/04/05 无线电
Win10防火墙白名单怎么设置?Win10添加防火墙白名单方法
2022/04/06 数码科技
插件导致ECharts被全量引入的坑示例解析
2022/09/23 Javascript