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远程连接MYSQL数据库非常慢的解决方法
Jul 05 PHP
php数组函数序列之array_keys() - 获取数组键名
Oct 30 PHP
解析mysql left( right ) join使用on与where筛选的差异
Jun 18 PHP
PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
Aug 18 PHP
PHP间隔一段时间执行代码的方法
Dec 02 PHP
php读取der格式证书乱码解决方法
Jun 22 PHP
使用PHP生成二维码的方法汇总
Jul 22 PHP
yii2中结合gridview如何使用modal弹窗实例代码详解
Jun 12 PHP
PHP简单实现上一页下一页功能示例
Sep 14 PHP
PHP命令空间namespace及use的用法小结
Nov 27 PHP
PHP使用递归按层级查找数据的方法
Nov 10 PHP
PHP中-&gt;和=&gt;的含义及使用示例解析
Aug 06 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
PHP5 安装方法
2006/10/09 PHP
基于mysql的论坛(4)
2006/10/09 PHP
php判断文件上传类型及过滤不安全数据的方法
2014/12/17 PHP
微信支付PHP SDK之微信公众号支付代码详解
2015/12/09 PHP
php版本CKEditor 4和CKFinder安装及配置方法图文教程
2019/06/05 PHP
用于自动添加Digg This!按钮的JavaScript
2006/12/23 Javascript
jQuery下通过$.browser来判断浏览器.
2011/04/05 Javascript
javascript时区函数介绍
2012/09/14 Javascript
基于jquery实现发送文章到手机的代码
2014/12/26 Javascript
Javascript中的数据类型之旅
2015/10/18 Javascript
ros::spin() 和 ros::spinOnce()函数的区别及详解
2016/10/01 Javascript
微信小程序 wx.request(接口调用方式)详解及实例
2016/11/23 Javascript
详解AngularJS脏检查机制及$timeout的妙用
2017/06/19 Javascript
使用JavaScript实现点击循环切换图片效果
2017/09/03 Javascript
webpack file-loader和url-loader的区别
2019/01/15 Javascript
vue--vuex详解
2019/04/15 Javascript
vue实现鼠标移过出现下拉二级菜单功能
2019/12/12 Javascript
JavaScript数组类型Array相关的属性与方法详解
2020/09/08 Javascript
Python实现监控程序执行时间并将其写入日志的方法
2015/06/30 Python
python 中的list和array的不同之处及转换问题
2018/03/13 Python
python 修改本地网络配置的方法
2019/08/14 Python
python numpy 反转 reverse示例
2019/12/04 Python
南京某软件公司的.net面试题
2015/11/30 面试题
应聘面试自我评价
2014/01/24 职场文书
社区党总支书记先进事迹材料
2014/01/24 职场文书
成龙霸王洗发水广告词
2014/03/14 职场文书
运动会开幕式主持词
2014/03/28 职场文书
经典毕业生求职信
2014/07/12 职场文书
毕业实习计划书
2015/01/16 职场文书
收银员岗位职责
2015/02/03 职场文书
北大自主招生自荐信
2015/03/04 职场文书
幼儿园万圣节活动总结
2015/05/05 职场文书
孩子满月酒答谢词
2015/09/30 职场文书
《卧薪尝胆》读后感3篇
2019/12/26 职场文书
PHP中strval()函数实例用法
2021/06/07 PHP
Windows server 2016服务器基本设置
2022/08/14 Servers