PHP---------PHP函数里面的static静态变量
2024-10-01 15:26:05
工作一年了,一年里很少用到static这个关键词,不管是类里面还是方法里面基本都没怎么用过。平时看到类里面有这个都没什么好奇的,今天在函数里面看到了这个,就去百度了一下。
<?php
function test1(){
static $a = 0;
$a++;
echo 'test1的'.$a.'<br/>';
}
function test2(){
$a = 0;
$a++;
echo 'test2的'.$a.'<br/>';
}
test1();
test1();
test2();
test2();
test1();
以上两个函数写在同一个文件下,先看下面运行结果
大家可以很容易的看出来,test1里面的$a是每调用一次test1就会在上次调用test1的基础上增加1,而且跟test2里面的$a没有任何关系。
那这里就总结一下static在函数里面定义变量的作用,(以上完全自己手巧没有复制外部资料。以下百度所得)
1.不会随着函数的调用和退出而消失,当再次调用定义它的函数时,它又可继续使用,而且保存了前次被调用后留下的值
2.静态局部变量只会初始化一次
3.静态属性只能被初始化为一个字符值或一个常量,不能使用表达式。即使局部静态变量定义时没有赋初值,系统会自动赋初值0(对数值型变量)或空字符(对字符变量);静态变量的初始值为0。
4.当多次调用一个函数且要求在调用之间保留某些变量的值时,可考虑采用静态局部变量。虽然用全局变量也可以达到上述目的,但全局变量有时会造成意外的副作用,因此仍以采用局部静态变量为宜。
最新文章
- MFC listcontrol导出excel表格
- Hichart 资料收集
- Druid使用起步—在javaWeb项目中配置监控 连接池
- HTK学习2:工具使用
- 配置ubuntu虚拟机备忘
- C# 获取时间差(几天前,几小时前,几分钟前,几秒前)
- 教你如何拔取百度地图POI兴趣点
- 设计模式_Memento_备忘录模式
- javascript--”原路返回“
- python学习笔记之八:迭代器和生成器
- bootstrap3 响应式布局栅格式布局
- 程序员的自我救赎---3.2:SSO及应用案例
- Uva - 512 - Spreadsheet Tracking
- LeetCode算法题-Merge Two Binary Trees(Java实现)
- Thread中的join()方法
- 排错技能:任务管理器中追踪某w3wp.exe是哪个IIS站点的application pool
- Elasticsearch集群内的原理
- Implementing a CNN for Text Classification in TensorFlow
- py-day1 pycharm 的安装 以及部分设置
- oracle 将字符串转化为数值型to_number()