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实现框架(二)
Oct 09 PHP
php 远程关机操作的代码
Dec 05 PHP
PHP的变量总结 新手推荐
Apr 18 PHP
php cookies中删除的一般赋值方法
May 07 PHP
分享常见的几种页面静态化的方法
Jan 08 PHP
php使用curl获取https请求的方法
Feb 11 PHP
JSON用法之将PHP数组转JS数组,JS如何接收PHP数组
Oct 08 PHP
全新Mac配置PHP开发环境教程
Feb 03 PHP
PHP QRCODE生成彩色二维码的方法
May 19 PHP
Linux平台php命令行程序处理管道数据的方法
Nov 10 PHP
PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案
Oct 17 PHP
Thinkphp5.0 框架实现控制器向视图view赋值及视图view取值操作示例
Oct 12 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中mysqli_affected_rows作用行数返回值分析
2014/12/26 PHP
PHP中浮点数计算比较及取整不准确的解决方法
2015/01/09 PHP
php is_writable判断文件是否可写实例代码
2016/10/13 PHP
php基于闭包实现函数的自调用(递归)实例分析
2016/11/11 PHP
浅谈php的TS和NTS的区别
2019/03/13 PHP
JavaScript中的toLocaleLowerCase()方法使用详解
2015/06/06 Javascript
基于jQuery倾斜打开侧边栏菜单特效代码
2015/09/15 Javascript
JQuery的attr 与 val区别
2016/06/12 Javascript
JS 日期与时间戮相互转化的简单实例
2016/06/22 Javascript
用JS写的一个Ajax库(实例代码)
2016/08/06 Javascript
nodejs个人博客开发第四步 数据模型
2017/04/12 NodeJs
vue 打包后的文件部署到express服务器上的方法
2017/08/09 Javascript
JavaScript正则表达式的贪婪匹配和非贪婪匹配
2017/09/05 Javascript
微信小程序获取手机号授权用户登录功能
2017/11/09 Javascript
通过npm或yarn自动生成vue组件的方法示例
2019/02/12 Javascript
layui监听下拉选框选中值变化的方法(包含监听普通下拉选框)
2019/09/24 Javascript
Python中处理字符串之endswith()方法的使用简介
2015/05/18 Python
linux下python抓屏实现方法
2015/05/22 Python
基python实现多线程网页爬虫
2015/09/06 Python
Python操作csv文件实例详解
2017/07/31 Python
pytorch 修改预训练model实例
2020/01/18 Python
python和php哪个容易学
2020/06/19 Python
关于Python字符编码与二进制不得不说的一些事
2020/10/04 Python
详解Python 中的 defaultdict 数据类型
2021/02/22 Python
安全的后院和健身蹦床:JumpSport
2019/07/15 全球购物
初一体育教学反思
2014/01/29 职场文书
高中学生干部学习的自我评价
2014/02/21 职场文书
2014年预备党员学习新党章思想汇报
2014/09/15 职场文书
先进班组材料范文
2014/12/25 职场文书
2015年大学社团工作总结
2015/04/09 职场文书
2016国庆节67周年寄语
2015/12/07 职场文书
教师纪律作风整顿心得体会
2016/01/23 职场文书
2016优秀毕业生个人事迹材料
2016/02/29 职场文书
2016年党员承诺书范文
2016/03/24 职场文书
导游词之山海关
2019/12/10 职场文书
CSS Transition通过改变Height实现展开收起元素
2021/08/07 HTML / CSS