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 获取远程文件内容的函数代码
Mar 24 PHP
php在程序中将网页生成word文档并提供下载的代码
Oct 09 PHP
php+mysql实现数据库随机重排实例
Oct 17 PHP
封装ThinkPHP的一个文件上传方法实例
Oct 31 PHP
php数组添加与删除单元的常用函数实例分析
Feb 16 PHP
mysql_connect localhost和127.0.0.1的区别(网络层阐述)
Mar 26 PHP
php代码架构的八点注意事项
Jan 25 PHP
PHP实现Google plus的好友拖拽分组效果
Oct 21 PHP
PHP中include和require的区别实例分析
May 07 PHP
浅谈php的TS和NTS的区别
Mar 13 PHP
ThinkPHP5.0框架实现切换数据库的方法分析
Oct 30 PHP
ThinkPHP5.1的权限控制怎么写?分享一个AUTH权限控制
Mar 09 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&amp;&amp;mysql)三
2006/10/09 PHP
PHP Undefined index报错的修复方法
2011/07/17 PHP
php中常用的预定义变量小结
2012/05/09 PHP
通过dbi使用perl连接mysql数据库的方法
2014/04/16 PHP
php之readdir函数用法实例
2014/11/13 PHP
php校验公钥是否可用的实例方法
2019/09/17 PHP
javaScript - 如何引入js代码
2021/03/09 Javascript
javascript 动态添加表格行
2006/06/22 Javascript
深入理解JQuery keyUp和keyDown的区别
2013/12/12 Javascript
js 赋值包含单引号双引号问题的解决方法
2014/02/26 Javascript
详解javascript函数的参数
2015/11/10 Javascript
jQuery Html控件基本操作(日常收集整理)
2016/03/11 Javascript
JS实现获取来自百度,Google,soso,sogou关键词的方法
2016/12/21 Javascript
Ionic 2 实现列表滑动删除按钮的方法
2017/01/22 Javascript
Vue实现选择城市功能
2017/05/27 Javascript
node使用UEditor富文本编辑器的方法实例
2017/07/11 Javascript
浅谈vue的踩坑路
2017/08/31 Javascript
js实现登录与注册界面
2017/11/01 Javascript
Vue-Access-Control 前端用户权限控制解决方案
2017/12/01 Javascript
python中安装模块包版本冲突问题的解决
2017/05/02 Python
对DataFrame数据中的重复行,利用groupby累加合并的方法详解
2019/01/30 Python
Python基础之字典常见操作经典实例详解
2020/02/26 Python
Python MOCK SERVER moco模拟接口测试过程解析
2020/04/13 Python
pytorch __init__、forward与__call__的用法小结
2021/02/27 Python
使用phonegap检测网络状态的方法
2017/03/30 HTML / CSS
HTML5 video 视频标签使用介绍
2014/02/03 HTML / CSS
移动HTML5前端框架—MUI的使用
2017/12/18 HTML / CSS
欧洲最大的高尔夫零售商:American Golf
2019/09/02 全球购物
乌克兰最大的家用电器和电子产品连锁店:Eldorado
2019/10/02 全球购物
说一下Linux下有关用户和组管理的命令
2014/08/18 面试题
煤矿班组长的职责
2013/12/25 职场文书
设备售后服务承诺书
2014/05/30 职场文书
2014年打非治违工作总结
2014/11/13 职场文书
会计主管竞聘书
2015/09/15 职场文书
2019年浪漫婚礼证婚词
2019/06/27 职场文书
php png失真的原因及解决办法
2021/11/17 PHP