PHP static局部静态变量和全局静态变量总结


Posted in PHP onMarch 02, 2014

静态局部变量的特点:

1.不会随着函数的调用和退出而发生变化,不过,尽管该变量还继续存在,但不能使用它。倘若再次调用定义它的函数时,它又可继续使用,而且保存了前次被调用后留下的值
2.静态局部变量只会初始化一次
3.静态属性只能被初始化为一个字符值或一个常量,不能使用表达式。即使局部静态变量定义时没有赋初值,系统会自动赋初值0(对数值型变量)或空字符(对字符变量);静态变量的初始值为0。
4.当多次调用一个函数且要求在调用之间保留某些变量的值时,可考虑采用静态局部变量。虽然用全局变量也可以达到上述目的,但全局变量有时会造成意外的副作用,因此仍以采用局部静态变量为宜。

function test()
{
    static $var = 5;  //static $var = 1+1;就会报错
    $var++;
    echo $var . ' ';
} 
test(); //2
test(); //3
test(); //4
echo $var; //报错:Notice: Undefined variable: var

关于静态全局变量:

//全局变量本身就是静态存储方式,所有的全局变量都是静态变量
function static_global(){
    global $glo;
    $glo++;
    echo $glo.'<br>';
}static_global(); //1
static_global(); //2
static_global(); //3
echo $glo . '<br>'; //3

所以静态全局变量使用并不多。

PHP 相关文章推荐
用PHP生成静态HTML速度快类库
Mar 18 PHP
PHP初学者常见问题集合 修正版(21问答)
Mar 23 PHP
php网站来路获取代码(针对搜索引擎)
Jun 08 PHP
PHP三层结构(上) 简单三层结构
Jul 04 PHP
php中session_unset与session_destroy的区别分析
Jun 16 PHP
Thinkphp模板中使用自定义函数的方法
Sep 23 PHP
ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例
Jun 23 PHP
基于GD2图形库的PHP生成图片缩略图类代码分享
Feb 08 PHP
PHP各种异常和错误的拦截方法及发生致命错误时进行报警
Jan 19 PHP
Yii2实现ajax上传图片插件用法
Apr 28 PHP
Laravel5.7 数据库操作迁移的实现方法
Apr 12 PHP
php解决安全问题的方法实例
Sep 19 PHP
PHP代码优化之成员变量获取速度对比
Feb 28 #PHP
php递归方法实现无限分类实例代码
Feb 28 #PHP
PHP中常用的转义函数
Feb 28 #PHP
PHP中鲜为人知的10个函数
Feb 28 #PHP
php中调用其他系统http接口的方法说明
Feb 28 #PHP
PHP URL参数获取方式的四种例子
Feb 28 #PHP
php使用多个进程同时控制文件读写示例
Feb 28 #PHP
You might like
php程序效率优化的一些策略小结
2010/07/17 PHP
php中使用addslashes函数报错问题的解决方法
2013/02/06 PHP
基于php iconv函数的使用详解
2013/06/09 PHP
PHP代码实现表单数据验证类
2015/07/28 PHP
php cli配置文件问题分析
2015/10/15 PHP
laravel中的错误与日志用法详解
2016/07/26 PHP
Thinkphp5.0框架使用模型Model的获取器、修改器、软删除数据操作示例
2019/10/11 PHP
laravel 解决路由除了根目录其他都404的问题
2019/10/18 PHP
PHP cookie与session会话基本用法实例分析
2019/11/18 PHP
javascript数组使用调用方法汇总
2007/12/08 Javascript
2014 年最热门的21款JavaScript框架推荐
2014/12/25 Javascript
jQuery实现点击图片翻页展示效果的方法
2015/02/16 Javascript
JavaScript获取表格(table)当前行的值、删除行、增加行
2015/07/03 Javascript
详解Wondows下Node.js使用MongoDB的环境配置
2016/03/01 Javascript
js实现图片淡入淡出切换简易效果
2016/08/22 Javascript
微信小程序 简单DEMO布局,逻辑,样式的练习
2016/11/30 Javascript
javascript中的try catch异常捕获机制用法分析
2016/12/14 Javascript
Vue.js自定义指令的用法与实例解析
2017/01/18 Javascript
Angular4集成ng2-file-upload的上传组件
2018/03/14 Javascript
VUE脚手架具体使用方法
2019/05/20 Javascript
JavaScript 作用域实例分析
2019/10/02 Javascript
Vue 的 v-model用法实例
2020/11/23 Vue.js
Python中的random()方法的使用介绍
2015/05/15 Python
快速了解Python相对导入
2018/01/12 Python
查找python项目依赖并生成requirements.txt的方法
2018/07/10 Python
python批量下载网站马拉松照片的完整步骤
2018/12/05 Python
基于python-pptx库中文文档及使用详解
2020/02/14 Python
CSS3 animation实现逐帧动画效果
2016/06/02 HTML / CSS
Kathmandu澳洲户外商店:新西兰户外运动品牌
2017/11/12 全球购物
泰国办公用品购物网站:OfficeMate
2018/02/04 全球购物
教师简历自我评价
2014/02/03 职场文书
餐饮收银员岗位职责
2014/02/07 职场文书
企业总经理岗位职责
2014/02/13 职场文书
高中军训感言600字
2014/03/11 职场文书
运动会宣传稿100字
2015/07/23 职场文书
3050和2060哪个好 性能差多少 差距有多大 谁更有性价比
2022/06/17 数码科技