php中static静态变量的使用方法详解


Posted in PHP onJune 04, 2010

看看下面的实例:

<?php 
function Test() 
{ 
$w3sky = 0; 
echo $w3sky; 
$w3sky++; 
} 
?>

本函数每次调用时都会将 $w3sky 的值设为 0 并输出 "0"。将变量加一的 $w3sky++ 没有其到效果,因为一旦退出本函数则变量 $w3sky 就不存在了。要写一个不会丢失本次计数值的计数函数,要将变量 $w3sky 定义为静态(static)的:
如下:
<?php 
function Test() 
{ 
static $w3sky = 0; 
echo $w3sky; 
$w3sky++; 
} 
?>

本函数每调用Test()都会输出 $w3sky 的值并加一。
静态变量也提供了一种处理递归函数的方法。递归函数是一种自己调用自己的方法。写递归函数时要小心,因为可能会无穷递归下去,没有出口.务必确保 有方法来中止递归。以下这个简单的函数递归计数到 10,使用静态变量 $count 来判断何时停止:
静态变量与递归函数的例子:
<?PHP 
function Test() 
{ 
static $count = 0; 
$count++; 
echo $count; 
if ($count < 10) { 
Test(); 
} 
$count--; 
} 
?>

注: 静态变量可以按照上面的例子声明。如果在声明中用表达式的结果对其赋值会导致解析错误。
声明静态变量例子:
<?PHP 
function foo(){ 
static $int = 0;// correct 
static $int = 1+2; // wrong (as it is an expression) 
static $int = sqrt(121); // wrong (as it is an expression too) 
$int++; 
echo $int; 
} 
?>
PHP 相关文章推荐
PHP调用三种数据库的方法(3)
Oct 09 PHP
详解php的魔术方法__get()和__set()使用介绍
Sep 19 PHP
关于shopex同步ucenter的redirect问题,导致script不运行
Apr 10 PHP
深入Apache与Nginx的优缺点比较详解
Jun 17 PHP
php setcookie函数的参数说明及其用法
Apr 20 PHP
php模拟post提交数据的方法
Feb 12 PHP
PHP实现支持SSL连接的SMTP邮件发送类
Mar 05 PHP
php输出指定时间以前时间格式的方法
Mar 21 PHP
php中header跳转使用include包含解决参数丢失问题
May 08 PHP
twig里使用js变量的方法
Feb 05 PHP
PHP使用http_build_query()构造URL字符串的方法
Apr 02 PHP
Laravel框架定时任务2种实现方式示例
Dec 08 PHP
用sql命令修改数据表中的一个字段为非空(not null)的语句
Jun 04 #PHP
php Static关键字实用方法
Jun 04 #PHP
PHP var_dump遍历对象属性的函数与应用代码
Jun 04 #PHP
IIS下PHP连接数据库提示mysql undefined function mysql_connect()
Jun 04 #PHP
php 网页播放器用来播放在线视频的代码(自动判断并选择视频文件类型)
Jun 03 #PHP
php ftp文件上传函数(基础版)
Jun 03 #PHP
php下连接ftp实现文件的上传、下载、删除文件实例代码
Jun 03 #PHP
You might like
php中计算中文字符串长度、截取中文字符串的函数代码
2011/08/09 PHP
php结合ajax实现赞、顶、踩功能实例
2014/05/12 PHP
深入分析PHP设计模式
2020/06/15 PHP
理解JavaScript的caller,callee,call,apply
2009/04/28 Javascript
html 锁定页面(js遮罩层弹出div效果)
2009/10/27 Javascript
JavaScript 序列化对象实现代码
2009/12/18 Javascript
jquery中动态效果小结
2010/12/16 Javascript
JSON 数字排序多字段排序介绍
2013/09/18 Javascript
JS实现闪动的title消息提醒效果
2014/06/20 Javascript
JavaScript中用sort()方法对数组元素进行排序的操作
2015/06/09 Javascript
javascript中select下拉框的用法总结
2016/01/07 Javascript
炫酷的js手风琴效果
2016/10/13 Javascript
javascript 单例模式详解及简单实例
2017/02/14 Javascript
如何理解jQuery中的ajaxSubmit方法
2017/03/13 Javascript
layui扩展上传组件模拟进度条的方法
2019/09/23 Javascript
微信小程序复选框实现多选一功能过程解析
2020/02/14 Javascript
vue滑动吸顶及锚点定位的示例代码
2020/05/10 Javascript
[01:34]2016国际邀请赛中国区预选赛IG战队教练采访
2016/06/27 DOTA
Python使用getpass库读取密码的示例
2017/10/10 Python
python的reverse函数翻转结果为None的问题
2020/05/11 Python
Css3圆角边框制作代码
2015/11/18 HTML / CSS
Eclipse面试题
2014/03/22 面试题
学院书画协会部门岗位职责
2013/12/01 职场文书
船舶专业个人求职信范文
2014/01/02 职场文书
社团成立邀请函
2014/01/08 职场文书
职工趣味运动会方案
2014/02/10 职场文书
军训学生自我鉴定
2014/02/12 职场文书
优乐美广告词
2014/03/14 职场文书
法学专业求职信
2014/07/15 职场文书
社会学专业求职信
2014/07/17 职场文书
手机被没收的检讨书
2014/10/04 职场文书
电子商务实训报告总结
2014/11/05 职场文书
2014年小学教师工作总结
2014/11/10 职场文书
管理失职检讨书
2015/05/05 职场文书
离婚财产分割协议书
2015/08/11 职场文书
Java实现添加条码或二维码到Word文档
2022/06/01 Java/Android