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写入WRITE编码为UTF8的文件的实现代码
Jul 07 PHP
php 执行系统命令的方法
Jul 07 PHP
PHP 远程关机实现代码
Nov 10 PHP
php读取javascript设置的cookies的代码
Apr 12 PHP
ThinkPHP实现将SESSION存入MYSQL的方法
Jul 22 PHP
自己写的php curl库实现整站克隆功能
Feb 12 PHP
php实现的微信红包算法分析(非官方)
Sep 25 PHP
PHP strip_tags() 去字符串中的 HTML、XML 以及 PHP 标签的函数
May 22 PHP
关于PHP转换超过2038年日期出错的问题解决
Jun 28 PHP
thinkPHP中U方法加密传递参数功能示例
May 29 PHP
php微信开发之谷歌测距
Jun 14 PHP
PHP实现随机发扑克牌
Apr 22 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
一个用于网络的工具函数库
2006/10/09 PHP
php学习笔记之面向对象编程
2012/12/29 PHP
PHP中的函数-- foreach()的用法详解
2013/06/24 PHP
php实现Mysql简易操作类
2015/10/11 PHP
PHP下使用mysqli的函数连接mysql出现warning: mysqli::real_connect(): (hy000/1040): ...
2016/02/14 PHP
浅析Yii2集成富文本编辑器redactor实例教程
2016/04/25 PHP
从sohu弄下来的flash中展示图片的代码
2007/04/27 Javascript
javascript脚本编程解决考试分数统计问题
2008/10/18 Javascript
解决jQuery插件tipswindown与hintbox冲突
2010/11/05 Javascript
JQuery for与each性能比较分析
2013/05/14 Javascript
jquery与prototype框架的详细对比
2013/11/21 Javascript
JS正则表达式验证数字代码
2014/01/28 Javascript
在JS数组特定索引处指定位置插入元素
2014/07/27 Javascript
JQuery选择器、过滤器大整理
2015/05/26 Javascript
一个非常好用的文字滚动的案例,鼠标悬浮可暂停[两种方案任选]
2016/12/01 Javascript
微信小程序 websocket 实现SpringMVC+Spring+Mybatis
2017/08/04 Javascript
微信小程序页面滑动屏幕加载数据效果
2020/11/16 Javascript
基于Bootstrap表单验证功能
2017/11/17 Javascript
微信小程序 如何引入外部字体库iconfont的图标
2018/01/31 Javascript
详解es6超好用的语法糖Decorator
2018/08/01 Javascript
element-ui upload组件多文件上传的示例代码
2018/10/17 Javascript
js实现tab栏切换效果
2020/08/02 Javascript
对numpy 数组和矩阵的乘法的进一步理解
2018/04/04 Python
Python2.7环境Flask框架安装简明教程【已测试】
2018/07/13 Python
python直接获取API传递回来的参数方法
2018/12/17 Python
Python List列表对象内置方法实例详解
2019/10/22 Python
英国鲜花递送:Blossoming Gifts
2020/07/10 全球购物
平面网站制作专科生的自我评价分享
2013/12/11 职场文书
数控专业个人求职信范文
2014/02/05 职场文书
公司慰问信范文
2015/03/23 职场文书
证劵公司反洗钱宣传活动总结
2015/05/08 职场文书
唐山大地震的观后感
2015/06/05 职场文书
2016年元旦主持词
2015/07/06 职场文书
少先队中队工作总结2015
2015/07/23 职场文书
告诉你创业计划书的8个实用技巧
2019/07/12 职场文书
django注册用邮箱发送验证码的实现
2021/04/18 Python